Python Pillow: uso del módulo de imagen
Para mostrar la imagen, la biblioteca de almohadas utiliza una clase de imagen dentro de ella. El módulo de imagen dentro del paquete de la almohada contiene algunas funciones incorporadas importantes como cargar imágenes o crear nuevas imágenes, etc.
Abrir, rotar y mostrar una imagen
Para cargar la imagen, simplemente importamos el módulo de imagen de la almohada y llamamos al Image.open(), pasando el nombre del archivo de la imagen.
En lugar de llamar al módulo Pillow, llamaremos al módulo PIL para que sea compatible con versiones anteriores de un módulo anterior llamado Python Imaging Library (PIL). Es por eso que nuestro código comienza con“from PIL import Image” en vez de “from Pillow import Image”.
A continuación, vamos a cargar la imagen llamando al Image.open() function, que devuelve un valor del tipo de datos del objeto Imagen. Cualquier modificación que hagamos en el objeto de imagen se puede guardar en un archivo de imagen con lasave()método. El objeto de imagen que recibimos usandoImage.open(), más tarde se puede utilizar para cambiar el tamaño, recortar, dibujar u otras llamadas a métodos de manipulación de imágenes en este objeto Imagen.
Ejemplo
El siguiente ejemplo demuestra la rotación de una imagen usando una almohada de Python:
from PIL import Image
#Open image using Image module
im = Image.open("images/cuba.jpg")
#Show actual Image
im.show()
#Show rotated Image
im = im.rotate(45)
im.show()
Salida
Si guarda el programa anterior como Example.py y lo ejecuta, muestra las imágenes originales y rotadas usando la utilidad de visualización PNG estándar, de la siguiente manera:
Actual image
Rotated image (45 degrees)
Atributos del módulo de imagen
La instancia de la clase Image tiene algunos atributos. Tratemos de entender algunos de ellos con el ejemplo:
Image.filename
Esta función se utiliza para obtener el nombre del archivo o la ruta de la imagen.
>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'
Formato de imagen
Esta función devuelve el formato de archivo del archivo de imagen como 'JPEG', 'BMP', 'PNG', etc.
>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'
Modo de imagen
Se utiliza para obtener el formato de píxeles utilizado por la imagen. Los valores típicos son “1”, “L”, “RGB” o “CMYK”.
>>> image.mode
'RGB'
Tamaño de la imagen
Devuelve la tupla que consta de la altura y el peso de la imagen.
>>> image.size
(1280, 721)
Ancho de la imagen
Devuelve solo el ancho de la imagen.
>>> image.width
1280
Altura de imagen
Devuelve solo la altura de la imagen.
>>> image.height
721
Image.info
Devuelve un diccionario que contiene datos asociados con la imagen.
>>> image.info
{'jfif': 257, 'jfif_version': (1, 1), 'dpi': (300, 300), 'jfif_unit': 1, 'jfif_density': (300, 300), 'exif': b"Exif\x00\x00MM\x00*\x00\x00\x00
....
....
\xeb\x00\x00'\x10\x00\x00\xd7\xb3\x00\x00\x03\xe8"}
Image.palette
Devuelve la tabla de la paleta de colores, si la hubiera.
>>> image.palette
Output above - Ninguno