GNU/Linux >> Tutoriales Linux >  >> Linux

Compara dos imágenes al estilo python/linux

Desde aquí

La forma más rápida de determinar si dos imágenes tienen exactamente el mismo contenido es obtener la diferencia entre las dos imágenes y luego calcular el cuadro delimitador de las regiones distintas de cero en esta imagen.

Si las imágenes son idénticas, todos los píxeles de la imagen de diferencia son cero y la función del cuadro delimitador devuelve Ninguno.

from PIL import ImageChops


def equal(im1, im2):
    return ImageChops.difference(im1, im2).getbbox() is None

Hay un proyecto OSS que usa WebDriver para tomar capturas de pantalla y luego compara las imágenes para ver si hay algún problema (http://code.google.com/p/fighting-layout-bugs/)). Lo hace abriendo el archivo en una secuencia y luego comparando cada bit.

Es posible que pueda hacer algo similar con PIL.

EDITAR:

Después de más investigación encontré

h1 = Image.open("image1").histogram()
h2 = Image.open("image2").histogram()

rms = math.sqrt(reduce(operator.add,
    map(lambda a,b: (a-b)**2, h1, h2))/len(h1))

en http://snipplr.com/view/757/compare-two-pil-images-in-python/ y http://effbot.org/zone/pil-comparing-images.htm


Linux
  1. Cómo actualizar a Linux Mint 20.3:la forma correcta

  2. ¿La mejor manera de implementar el soporte de teclas de acceso rápido en Linux?

  3. ¿Alguna forma de saber el tamaño de L1, L2, L3 Cache y RAM en Linux?

  4. ¿Hay alguna manera de inspeccionar el rpath actual en Linux?

  5. ¿La forma más rápida de saber si dos archivos tienen el mismo contenido en Unix/Linux?

3 visores de imágenes CLI para mostrar imágenes en la terminal

Cómo cambiar el tamaño de las imágenes usando Python

Cómo comparar dos archivos en la terminal de Linux

Comprender los niveles de ejecución de Linux de la manera correcta

EndeavourOS – Aprende Arch de la manera correcta

¿Cómo veo el documento de Python en Linux?