Użyj ImageMagick, aby porównać obrazy


10

Chcę porównać źródłowy plik png ze skompresowanym plikiem.

Używam imagemagicki to polecenie:

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

Ale dostaję bardzo dziwną liczbę. Patrzę na numer od 0-100%.

Kiedy porównałem dwa zupełnie różne obrazy, wciąż dostaję 8.37885.

Tak więc dobrzy ludzie Ask Ubuntu, czy możesz podać mi polecenie, które odpowiednio zmierzy różnicę między plikami i da mi liczbę od 0-100?

Odpowiedzi:


11

Problem dotyczy colorspace grayczęści polecenia. Ta opcja sprawdza tylko różnicę między szarym kolorem obrazów.

Tak powinno być prawidłowe polecenie

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

To powinno dać ci bardziej odpowiednią odpowiedź.


1
Możesz wypróbować inne metody, takie jak ten skrypt Pythona . Użyj tej metody, która najlepiej odpowiada twojemu celowi.
Zarejestrowany użytkownik

Bardzo dziękuję za pomoc, przyjrzę się jej, dziękuję również za polecenie
Levan

@RegisteredUser Ostrzeżenie : ten kod wydaje się znajdować błąd RMS między histogramami obrazów, a NIE między nimi. Lepiej najpierw zrobić różnicę między dwoma obrazkami (jeśli chcesz również na nowym obrazie), a następnie zrobić kwadratową sumę znormalizowanych pojemników histogramu.
Hastur

@hastur czy możesz rozwinąć, podając polecenie. Może jako inna odpowiedź.
Zarejestrowany użytkownik
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.