Hoy veremos cómo cambiar el tamaño de una imagen utilizando Python y el módulo Pillow. Te recomiendo la entrada Trabajar con imágenes en Python con Pillow por si quieres ver una introducción al módulo. También ahí puedes encontrar cómo instalar Pillow en caso de que aun no lo tengas.
El módulo Pillow nos permite manipular imágenes de distintos formatos. Veremos cómo hacer el cambio de tamaño con ayuda de la función resize(). A esta función le debemos pasar las nuevas medidas para la imagen en una tupla en el orden (ancho, alto).
La imagen que utilizaremos en los ejercicios se llama «ProyectosconPython.png» y es la siguiente:

El código que vamos a utilizar es el siguiente:
from PIL import Image
imagen = Image.open("ProyectosconPython.png")
imagen = imagen.resize((100,50))
imagen.save("ProyectosconPython_resize.png")
El código hace lo siguiente:
- Importa solo la clase Image del módulo Pillow
- Abre una imagen en formato jpg
- Cambia el tamaño de la imagen y guarda la modificación en la variable imagen
- Guarda la imagen con el nuevo tamaño
La imagen se encontrará en la ruta en la que te encontrabas cuando abriste el interprete a menos que especifiques la ruta completa donde deseas guardarla. Nuestro resultado es el siguiente.

Notarás que la imagen está desproporcionada. Esto es porque colocamos unos tamaños sin considerar las medidas de la imagen original. Para reducir la imagen proporcionalmente debemos considerar su alto y ancho además de un factor por el que queramos hacer la reducción. Hagamos algunas modificaciones al código.
El código que vamos a utilizar es el siguiente:
from PIL import Image
imagen = Image.open("ProyectosconPython.png")
ancho, alto = imagen.size
imagen = imagen.resize((ancho//3,alto//3))
imagen.save("ProyectosconPython_resize2.png")
El código hace lo siguiente:
- Importa solo la clase Image del módulo Pillow
- Abre una imagen en formato jpg
- Guarda los valores de ancho y alto de la imagen
- Cambia el tamaño de la imagen a una tercera parte de sus medidas originales
- Guarda la imagen con el nuevo tamaño
El resultado que obtuvimos es el siguiente:

Recuerda que el numero que utilicemos para dividir las medidas originales de la imagen debe ser el mismo tanto en ancho como en alto para que se mantenga la proporción de la imagen.
Hasta aquí llegamos con esta entrada sobre cómo cambiar el tamaño de una imagen utilizando Python y el módulo Pillow.
Quizá también te interese ¿Cómo cambiar el formato de una imagen con Python y Pillow? o ¿Cómo cambiar la resolución de una imagen con Python y Pillow?
Cuéntame, ¿conoces algún otro método? Me encantaría saber qué te ha parecido esta entrada.