Мої власні улюблені такі:
compare image1 image2 -compose src diff.png
compare image1 image2 -compose src diff.pdf
Єдина відмінність між двома наведеними вище командами: перша показує візуальну різницю двох зображень у вигляді файлу PNG, друга - як PDF.
Отриманий у файлі diff відображає всі пікселі, які відрізняються червоним кольором. Ті, що не змінюються, виглядають білими.
Короткий і солодкий.
Зверніть увагу: ваші зображення не повинні бути одного типу. Ви навіть можете змішувати JPEG, TIFF, PNG - за однієї умови: зображення повинні бути однакового розміру (розмір зображення в пікселях). Формат виводу визначається розширенням назви вихідного файлу.
Якщо вам чомусь потрібна більш висока роздільна здатність, ніж стандартна (72 dpi) - тоді просто додайте відповідний -density
параметр:
compare -density 300 image1 image2 -compose src diff.jpeg
Ілюстровані приклади
Ось кілька ілюстрацій результатів для варіантів вищевказаної команди. Зауважте: два порівняні файли були навіть файлами PDF , тому він працює і з ними (доки вони є 1-пейджерами)!
Зліва: Зображення з текстом Центр: Оригінальне зображення Право: Відмінності (= текст) у червоних пікселях.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
diff-compose-default.pdf
Це та сама команда, яку я запропонував раніше.
Зліва: Зображення з текстом Центр: Оригінальне зображення Вправо: Відмінності пікселів 'морської зелені'.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
-highlight-color seagreen \
diff-compose-default.pdf
Ця команда додає параметр, щоб зробити різницю пікселів 'seagreen' замість червоного за замовчуванням.
Зліва: Зображення з текстом Центр: Оригінальне зображення Вправо: Синій розрізняється (але з деяким контекстом)
l
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-highlight-color blue \
diff-compose-default.pdf
Ця команда видаляє -compose src
частину - в результаті поведінка за замовчуванням compare
зберігає як освітлений фон перший з 2-х розрізнених зображень. (Цього разу із доданим параметром, щоб пікселі різниці відображалися синім кольором.)