¿Imágenes iguales?

Mirando artículos sobre arte digital me puse a pensar como verificar si una imagen es igual a otra, visualmente parecida, de modo que sin importar su copia, PNG, JPG o fotograma en un video, verificar si realmente es diferentes.

Existe programas como pyscenedetect, Shotdetect que detectan los grandes cambios en una película y programas como ffmpeg o mplayer que exporta hash y md5. Esto sirve para ver si un fotograma es exactamente igual a otro pixel por pixel. Pero si son muy similares no funciona correctamente.

Mi idea es reducir cada imagen a 8×8, en grises o pocos colores y recortar los colores a pocos o blanco y negro de modo de tener una firma de la imagen.

Por ejemplo:

convert image.png -compress none -resize 8x8\! -compress none -depth 3 ppm:- | md5sum

Esto es limitado, pero puede verificar fotogramas similares con bastante precisión.
Además se puede conservar como imagen ppm lo que permite tener una versión visible del fotograma, similar a un QR o una firma digital del fotograma.

Esto es para una idea en la que estoy trabajando hacer arte criptográfico basado en cifrado RSA.

Publicado en Reporte.