Encontrar diferencias entre imágenes usando PIL

El intérprete de Python en sí mismo no contiene la capacidad de procesar imágenes y sacar una conclusión. Entonces, PIL (Python Imaging Library) agrega poderes de procesamiento de imágenes al intérprete. PIL es una biblioteca de código abierto que proporciona a Python compatibilidad con archivos externos y eficiencia para procesar imágenes y sus representaciones. Básicamente, PIL está diseñado para acceder a datos en forma de imágenes (píxeles) para acelerar el análisis.

PIL admite formatos de imagen como-

  • jpeg
  • pelea
  • png
  • jpg
  • gif

Hay muchas funciones que se pueden realizar usando PIL, son-

1) Subir imágenes

Usando PIL, podemos cargar una imagen y mostrarla. 

Código: después de instalar la biblioteca PIL, ejecute el siguiente código para mostrar cualquier imagen, digamos abc

Python3

from PIL import Image
 
 
img1 = Image.open('abc.jpg')
img1.show()

Producción:

La imagen se mostrará así después de ejecutar el código.

2) Guardar imágenes

Código: Para guardar la imagen 

Python3

from PIL import Image
 
 
img1 = Image.open('flower.png')
img1.save('flower.png')

Nota: Otras funciones que usan PIL: procesamiento de imágenes, diferencia con ImageChops, descarga, lectura de píxeles, etc.

Encontrar la diferencia entre dos imágenes usando la biblioteca PIL

Para encontrar la diferencia, cargue 2 imágenes en el intérprete y luego use ImageChops para encontrar la diferencia entre ambas, la salida se explicará por sí misma.

Imágenes utilizadas para la diferencia:

r.jpg

p.jpg

Python3

from PIL import Image, ImageChops
 
 
img1 = Image.open('p.jpg')
img2 = Image.open('r.jpg')
 
diff = ImageChops.difference(img1, img2)
 
if diff.getbbox():
    diff.show()

Producción: 

Las porciones extra/diferencia entre ambas imágenes son de color verde.

Publicación traducida automáticamente

Artículo escrito por pmahajan70 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *