Так почему же вы не можете использовать инструмент командной строки ImageMagick напрямую?
Обратите внимание, что сравнение двух разных изображений с помощью compare
приводит только к значимым результатам, если оба имеют одинаковые размеры (ширина х высота) в пикселях. compare
делает сравнение, которое делается попиксельно.
Вот как бы я это сделал:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose src \
diff.png
Эта команда принимает на вход 2 изображения: orig1.png
и orig2.jpeg
. Это производит diff.png
как вывод. Он также дает некоторую информацию об отладке stdout . Выходное изображение имеет все пиксели, окрашенные в красный цвет, которые различаются между входами.
Другая возможность - это модифицированная команда:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose difference \
diff.png
Он визуализирует различия по-другому. Вы также можете не записывать различия в файл, но сказать сравнить, чтобы открыть окно и показать различия на экране:
compare \
-verbose \
-debug coder \
-log "%u %m:%l %e" \
orig1.png \
orig2.jpeg \
-compose difference \
x: