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?

Levan
źródło

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ź.

zarejestrowany użytkownik
źródło
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