python

Aplicar filtros a imagen con Python

En este artículo te mostraré cómo manipular imágenes con Python, aplicarle algunos filtros y transformarlas. Lo que te enseñaré será:

  • Aplicar filtro de escala de grises y sepia
  • Voltear una imagen horizontalmente, como si fuera reflejada en un espejo
  • Desenfocar una imagen usando el desenfoque de caja

Todo esto con Python, escribiendo los algoritmos manualmente sin depender de una librería. Eso sí, para leer la imagen como matriz vamos a usar imageio.

Ya que andamos por aquí te recuerdo que también tengo un post en donde expliqué cómo ocultar texto en imágenes.

Sobre el formato de imagen y numpy

En los ejemplos que te voy a enseñar a continuación voy a usar una imagen de mapa de bits, de 24 bits para ser exactos; y numpy para convertir la imagen a una matriz.

Esto no es totalmente obligatorio, pues si viste mi tutorial de esteganografía sabrás que podemos leer los pixeles de la imagen usando simplemente Image y el método load.

Además, en ese mismo tutorial estoy usando una imagen PNG, y no una BMP; por lo que esto puede servir para varios formatos y sin usar numpy.

Sin embargo lo he hecho así porque eso pedía la asignación. El algoritmo es el mismo, solo necesitamos la matriz de pixeles y una manera de leer y escribir imágenes.

Filtros y procesado a imágenes con Python

A continuación te dejo las imágenes con su respectivo filtro y enlace. La original es la siguiente tomada de Pixabay:

Imagen original para procesar con Python

Aquí vemos cómo se aplica el filtro de escala de grises, y puedes ver el tutorial haciendo clic aquí:

Imagen en escala de grises con Python

Igualmente tenemos el modo sepia con Python:

Filtro sepia a imagen con Python

El reflejo horizontal:

Reflejo horizontal con Python e imageio

Y finalmente el desenfoque de caja que para mí es el más difícil de aplicar. Para esta imagen te recomiendo descargar la original y la difuminada para que logres apreciar el desenfoque:

Desenfoque de caja (box blur) con Python

Por si te gusta Python, te dejo más contenido aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

3 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

5 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.