Meus favoritos são esses dois:
compare image1 image2 -compose src diff.png
compare image1 image2 -compose src diff.pdf
A única diferença entre os 2 comandos acima: o primeiro mostra a diferença visual entre as duas imagens como um arquivo PNG, a segunda como um PDF.
O arquivo diff resultante exibe todos os pixels diferentes na cor vermelha. Os que não mudam parecem brancos.
Curto e grosso.
Observe que suas imagens não precisam ser do mesmo tipo. Você pode até misturar JPEG, TIFF, PNG - sob uma condição: as imagens devem ter o mesmo tamanho (dimensão da imagem em pixels). O formato de saída é determinado pela extensão do nome do arquivo de saída.
Por algum motivo, se você precisar de uma resolução maior que a padrão (72 dpi) - adicione apenas uma -density
parâmetro :
compare -density 300 image1 image2 -compose src diff.jpeg
Exemplos ilustrados
Aqui estão algumas ilustrações dos resultados para variações do comando acima. Nota: os dois arquivos comparados eram arquivos PDF , por isso também funciona com eles (desde que sejam pagers 1)!
Esquerda: Imagem com texto Centro: Imagem original Direita: Diferenças (= texto) em pixels vermelhos.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
diff-compose-default.pdf
Este é o mesmo comando que sugeri anteriormente.
Esquerda: Imagem com texto Centro: Imagem original Direita: Diferenças em pixels 'verdes'.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
-highlight-color seagreen \
diff-compose-default.pdf
Este comando adiciona um parâmetro para fazer com que os pixels da diferença sejam 'seagreen', em vez do vermelho padrão.
Esquerda: Imagem com texto Centro: Imagem original Direita: Diferenças azuis (mas com algum contexto de contexto)
l
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-highlight-color blue \
diff-compose-default.pdf
Este comando remove a -compose src
peça - o resultado é o comportamento padrão compare
que mantém como plano de fundo iluminado a primeira das 2 imagens diferentes. (Desta vez, com o parâmetro adicionado para fazer com que os pixels do diff apareçam em azul.)