Utilisez ImageMagick pour comparer les images


10

Je veux comparer un fichier png source à un fichier compressé.

J'utilise imagemagicket cette commande:

convert image1 image2 -compose Difference -composite \
       -colorspace gray -format '%[fx:mean*100]' info:

Mais ce que je reçois est un nombre très impair. Je cherche à partir d'un nombre de 0 à 100%.

Lorsque j'ai comparé deux images totalement différentes, j'obtiens toujours un 8.37885.

Alors bonnes personnes de Ask Ubuntu, pouvez-vous me fournir une commande qui mesurera correctement la différence entre les fichiers et me donnera un nombre compris entre 0 et 100?

Réponses:


11

Le problème vient de la colorspace graypartie de la commande. Cette option vérifie uniquement la différence entre la couleur grise des images.

Donc, la bonne commande devrait être

convert image1 image2 -compose Difference -composite  -format '%[fx:mean*100]' info:

Cela devrait vous donner une réponse plus appropriée.


1
Vous pouvez essayer d'autres méthodes comme ce script python . Utilisez cette méthode qui convient le mieux à votre objectif.
Utilisateur enregistré le

Merci beaucoup pour votre aide, je vais y jeter un œil, merci également pour la commande
Levan

@RegisteredUser Attention : ce code semble trouver l'erreur RMS entre les histogrammes des images, PAS entre les images elles-mêmes. Il est préférable de faire d' abord la différence des 2 images (si vous voulez aussi une nouvelle image), puis de faire la somme au carré des cases d'histogramme normalisées.
Hastur

@hastur pouvez-vous développer en fournissant la commande. Peut-être comme une autre réponse.
Utilisateur enregistré le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.