image compareImages

Filtrage précis et Canaux RGB (Cas Limite)

Scénario de test & Cas d'usage

Contexte Métier

Un musée analyse la restauration de tableaux. Ils veulent comparer les scanographies spectrales avant/après restauration. Le test vise les cas limites : isoler uniquement les changements subtils (ni identiques, ni totalement différents) et analyser canal par canal (Rouge/Vert/Bleu) car certains vernis ne réagissent que sur le spectre bleu.
À propos du Set : image

Traitement, manipulation et analyse d'images.

Découvrir toutes les actions de image
Préparation des Données

Préparation de données incluant des cas extrêmes : une image manquante dans la référence, et une image identique (score parfait à exclure).

Copié !
1 
2DATA casuser.art_restored;
3INPUT art_id $ _path_ $50.;
4CARDS;
5A01 /art/monalisa_v2.tif A02 /art/vangogh_v2.tif A03 /art/rembrandt_v2.tif ;
6 
7RUN;
8 
9DATA casuser.art_original;
10INPUT art_id $ _path_ $50.;
11CARDS;
12A01 /art/monalisa_v1.tif A02 /art/vangogh_v1.tif ;
13 
14RUN;
15 

Étapes de réalisation

1
Comparaison avec filtrage strict (Min/Max) et séparation des canaux. A03 n'a pas de correspondance et A02 est supposé quasi-identique.
Copié !
1 
2PROC CAS;
3image.compareImages / sourceImages={TABLE={name='art_restored', caslib='casuser'}} pairSourceOn='art_id' referenceImages={TABLE={name='art_original', caslib='casuser'}} pairReferenceOn='art_id' method='SSIM' separateChannels=true minimum=0.5 maximum=0.99 casOut={name='analyse_spectrale', caslib='casuser', replace=true};
4 
5RUN;
6 

Résultat Attendu


La table de sortie doit exclure l'ID A03 (pas de match). Si A02 est identique (SSIM=1.0), elle doit être exclue par le 'maximum=0.99'. Seul A01 (restauration partielle) devrait apparaître avec 3 scores distincts (un par canal couleur) si 'separateChannels' fonctionne correctement.