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