2017-08-30 3 views
-3

Existe-t-il un moyen de comparer les fichiers .tiff pixel par pixel avec un outil de ligne de commande?Existe-t-il un outil de ligne de commande pour comparer visuellement les fichiers .tiff (pixel par pixel)?

Par exemple:

Entrée:outil image1.tiff image2.tiff

Sortie:True (bool) (si même), Faux (bool) (si les différences sont trouvé)

Peut-être aussi un code/outil Java?

Merci d'avance!

+0

Si vous voulez seulement une réponse vrai/faux, il suffit de calculer et de comparer le md5 ou quelque chose. –

+0

Il n'est pas clair si l'intention est de comparer les _fichiers_, pour lesquels les outils du système d'exploitation comme diff et md5sum sont susceptibles d'être appropriés, ou de comparer les données d'image réelles. Et si l'intention est de comparer les données d'image, que se passe-t-il si, par exemple, les couleurs sont codées différemment dans les différents fichiers? Avons-nous besoin de vérifier que les données d'image sont identiques (dans la mesure du possible), ou à l'intérieur d'un certain seuil. FWIW Je peux fournir du code Java qui va lire un TIFF dans un tableau de valeurs de pixels RVB; mais vous auriez encore besoin de savoir comment faire la comparaison réelle. –

Répondre

1

Vous pouvez utiliser ImageMagick pour comparing images. Selon son documentation, il prend également en charge les fichiers TIFF.

Commande pour comparer les images:

compare -verbose -metric mae pic1.tiff pic2.tiff difference.png 

Pour les images identiques, il affiche seulement des zéros:

Channel distortion: MAE 
    red: 0 (0) 
    green: 0 (0) 
    blue: 0 (0) 
    alpha: 0 (0) 
    all: 0 (0) 

Pour différentes images, il imprimera des valeurs non nulles, par exemple:

Channel distortion: MAE 
    red: 2282.91 (0.034835) 
    green: 1853.99 (0.0282901) 
    blue: 2008.67 (0.0306503) 
    all: 1536.39 (0.0234439) 

Ou si la taille des images est différente, il s'en plaindra:

image widths or heights differ 

Vous pouvez utiliser ces sorties pour générer une valeur true/false pour vous-même. (Here are some ideas.)