Ответ 1
Моими избранными являются эти два:
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-пейджерами)!
Слева: Изображение с текстом Центр: Исходное изображение & strong > Вправо: Различия (= текст) в красных пикселях.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
diff-compose-default.pdf
Это та самая команда, которую я предложил ранее выше.
Слева: Изображение с текстом Центр: Исходное изображение Вправо: Различия в пикселях "seagreen".
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
-highlight-color seagreen \
diff-compose-default.pdf
Эта команда добавляет параметр, чтобы сделать разницу пикселей "seagreen" вместо красного по умолчанию.
Слева: Изображение с текстом Центр: Исходное изображение Вправо: Синий diff (но с некоторым контекстным фоном)
l
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-highlight-color blue \
diff-compose-default.pdf
Эта команда удаляет часть -compose src
- результатом является поведение по умолчанию compare
, которое сохраняет в качестве освещаемого фона первое из двух разнесенных изображений. (На этот раз с добавленным параметром, чтобы пиксели diff отображались синим цветом.)