Verwenden Sie ImageMagick, um Bilder zu vergleichen

10

Ich möchte eine Quell-PNG-Datei mit einer komprimierten Datei vergleichen.

Ich benutze imagemagickund diesen Befehl:

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

Aber was ich bekomme, ist eine sehr merkwürdige Zahl. Ich schaue von einer Zahl von 0-100%.

Wenn ich zwei völlig unterschiedliche Bilder vergleiche, bekomme ich immer noch eine 8.37885.

Also, gute Leute von Ask Ubuntu, können Sie mir einen Befehl geben, der den Unterschied zwischen Dateien richtig misst und mir eine Zahl von 0 bis 100 gibt?

Levan
quelle

Antworten:

11

Das Problem liegt im colorspace grayTeil des Befehls. Diese Option überprüft nur den Unterschied zwischen der grauen Farbe der Bilder.

Der richtige Befehl sollte also sein

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

Dies sollte Ihnen eine angemessenere Antwort geben.

registrierter Nutzer
quelle
1
Sie können auch andere Methoden wie dieses Python-Skript ausprobieren . Verwenden Sie die Methode, die Ihrem Zweck am besten entspricht.
Registrierter Benutzer
Vielen Dank für Ihre Hilfe. Ich werde mich darum kümmern. Vielen Dank auch für den Befehl
Levan
@RegisteredUser Warnung : Dieser Code scheint den RMS-Fehler zwischen den Histogrammen der Bilder zu finden, NICHT zwischen den Bildern selbst. Es ist besser, zuerst die Differenz der beiden Bilder zu machen (wenn Sie auch ein neues Bild wünschen) und dann die quadratische Summe der normalisierten Histogrammfächer.
Hastur
@hastur können Sie bitte näher erläutern, indem Sie den Befehl angeben. Vielleicht als eine andere Antwort.
Registrierter Benutzer