Saber las diferencias entre dos imágenes con ImageMagick

Vamos a ver un nuevo comando de ImageMagick, compare que, como su nombre indica, compara imágenes. Su uso básico es extremadamente simple:

compare imagen1 imagen2 diferencia

Y nos genera una imagen nueva con las zonas cambiadas coloreadas de rojo. El rojo es el color por defecto, pelo lo podemos cambiar con:

-highlight-color $color

Veamos cómo funciona compare comparando dos imágenes iguales, pero a una le he modificado ligeramente el color del agua del río:

Y vamos a ver cómo actúa compare:

compare ebro.jpg ebro2.jpg diferencia.jpg

Y cambiando de color:

compare ebro.jpg ebro2.jpg -highlight-color green diferencia_verde.jpg

compare ebro.jpg ebro2.jpg -highlight-color green diferencia_verde.jpg

Otro operador con el que podemos trabajar es -fuzz con el que le indicaremos el nivel de tolerancia a la diferencia con la que trabaje compare. Si le indicamos un nivel medio o alto, y comparamos dos imágenes tan parecidas, el resultado es que no hay diferencias con ese umbral:

compare ebro.jpg ebro2.jpg -fuzz 30% diferencia_fuzz_30.jpg

compare ebro.jpg ebro2.jpg -fuzz 30% diferencia_fuzz_30.jpg
En todas las imágenes que hemos visto generadas por compare, vemos la imagen original atenuada. Si quisiéramos que la imagen estuviera en blanco, podemos componer la imagen con -compose src:

compare ebro.jpg ebro2.jpg -compose src diferencia_fondo_blanco.jpg

-compose src

Deja una respuesta

Tu dirección de correo electrónico no será publicada.