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

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

Imagen en escala de grises con Python

Igualmente tenemos el modo sepia con Python:

Filtro sepia a imagen con Python

Filtro sepia a imagen con Python

El reflejo horizontal:

Reflejo horizontal con Python e imageio

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

Desenfoque de caja (box blur) con Python

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


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 3,476 suscriptores


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/

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: