Mis propios favoritos son estos dos:
compare image1 image2 -compose src diff.png
compare image1 image2 -compose src diff.pdf
La única diferencia entre los 2 comandos anteriores: el primero muestra la diferencia visual entre las dos imágenes como un archivo PNG, el segundo como un PDF.
El archivo diff resultante muestra todos los píxeles que son diferentes en color rojo. Los que no han cambiado aparecen blancos.
Corto y dulce.
Tenga en cuenta que sus imágenes no necesitan ser del mismo tipo. Incluso puede mezclar JPEG, TIFF, PNG, bajo una condición: las imágenes deben ser del mismo tamaño (dimensión de la imagen en píxeles). El formato de salida está determinado por la extensión del nombre de archivo de salida.
Si, por alguna razón, necesita una resolución más alta que la predeterminada (72 ppp), simplemente agregue un -density
parámetro apropiado :
compare -density 300 image1 image2 -compose src diff.jpeg
Ejemplos ilustrados
Aquí hay algunas ilustraciones de resultados para variaciones del comando anterior. Nota: los dos archivos comparados eran incluso archivos PDF , por lo que también funciona con estos (¡siempre y cuando sean de 1 página!)
Izquierda: imagen con texto Centro: imagen original Derecha: diferencias (= texto) en píxeles rojos.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
diff-compose-default.pdf
Este es el mismo comando que sugerí anteriormente.
Izquierda: imagen con texto Centro: imagen original Derecha: diferencias en píxeles 'verde marino'.
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-compose src \
-highlight-color seagreen \
diff-compose-default.pdf
Este comando agrega un parámetro para hacer que la diferencia de píxeles sea 'verde marino' en lugar del rojo predeterminado.
Izquierda: imagen con texto Centro: imagen original Derecha: diferencias azules (pero con algún fondo de contexto)
l
compare \
porsche-with-scratch.pdf porsche-original.pdf \
-highlight-color blue \
diff-compose-default.pdf
Este comando elimina la -compose src
parte; el resultado es el comportamiento predeterminado compare
que mantiene como fondo claro la primera de las 2 imágenes difusas. (Esta vez con el parámetro agregado para que los píxeles de diferencia aparezcan en azul).