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