Tratamiento y procesamiento de Imagenes en Python, con la Biblioteca PIL – Pillow (Fork of the Python Imaging Library).

En este HowTo explicaré paso a paso, como manipular imágenes en Python. Para ello utilizaré la Biblioteca Python Imaging Library (PIL).

¿Qué es PIL?

La librería Python Imaging Library (PIL), lleva sin  actualizarse desde el año 2009 y no soporta Python3. A pesar de este inconveniente, existe un fork llamado Pillow que si soporta Python3 y actualmente se mantiene actualizada.

Esta librería es empaquetada usando el nombre de Pillow y su nombre en Python es PIL – Pillow (Fork of the Python Imaging Library). Toda la documentación relacionada con Pillow la puedes consultar siguiendo este enlace.

Instalación

Cuando accedemos al intérprete de Python3 e intentamos importar el módulo PIL, obtenemos un el error ImportError: No module named ‘PIL’, si PIL – Pillow no está instalado:

Como PIL es una librería muy importante para Linux, la tenemos disponible para su instalación, por lo que procedemos a instalarla.

Para otro tipo de sistemas o entornos podemos usar el instalador de paquetes de Python pip3.

Una vez instalada, volvemos a comprobar si podemos importar el módulo PIL correctamente.

Documentación de PIL

PIL está construida siguiendo patrones y convenciones de nombres, lo que significa que sus clases, métodos y funciones tienen nombres que nos ayudan a comprender que esperamos de cada uno de ellos. Cuando el nombre no es lo suficientemente descriptivo, dispone de documentación para cada una de sus funciones.

La librería PIL está documentada usando docstrings, por lo que si tecleamos help(PIL) obtenemos información adicional del módulo y sus componentes. Recuerda que casi toda la documentación relacionada con Pillow también puedes consultarla online, siguiendo este enlace.

Manipulando imágenes

Cuando usamos PIL para manipular imágenes, se crean objetos de cada imagen y contienen toda la información sobre ella. Lo que hacemos es operar sobre estos objetos con métodos o funciones y estos nos devuelven un nuevo objeto de la imagen modificada.

Para modificar el tamaño de una imagen y guardarla en otra, debemos hacer lo siguiente:

El método resize() es el que retorna la imagen con el tamaño ya modificado. El método save() nos permite salvarlo en otro fichero diferente.

PIL también nos permite combinar operaciones diferentes en una sola línea. En este ejemplo rotamos usando el método rotate(), modificamos su tamaño y guardamos el resultado en una nueva imagen.

 

 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.