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?

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.