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.