Hoy te enseñaré a aplicar el filtro de sepia a una imagen utilizando programación y manipulación a nivel de pixeles en una imagen usando Python.
No vamos a usar librerías para la transformación, vamos a leer cada nivel de color de cada pixel y transformarlo para tener un filtro sepia.
Todo esto lo haremos recorriendo la matriz de pixeles; al final podremos convertir una imagen a modo sepia con Python.
Necesitas Python y PIP. Cuando tengas pip instala numpy e imageio con: pip install numpy imageio
No es obligatorio usar numpy (pero el ejercicio sí lo requiere, así que lo he usado), basta con imageio para obtener los pixeles de la imagen como una matriz así como lo hice cuando trabajé con esteganografía en Python.
Vamos a trabajar con una imagen BMP pero cualquier imagen que pueda ser convertida a matriz debería funcionar.
Vamos a centrarnos en el título del post: convertir imagen a sepia con Python. En este caso debemos aplicar simples transformaciones matemáticas a cada pixel, quedando así:
Entonces básicamente es extraer los 3 niveles de color RGB, luego multiplicar, modificar el pixel o bit en cuestión (y luego hacerlo por cada pixel en la imagen) y guardar la imagen.
Nota: existe la posibilidad de que el valor sepia se pase del rango de 255 (recuerda que las BMP tienen niveles de color del 0 al 255) así que si nos pasamos de ese valor debemos modificarlo para que sea 255.
Ahora veamos el código. Simplemente recorremos la fila de pixeles de la imagen; dentro de cada fila recorremos el pixel. En ese pixel extraemos sus niveles de color, hacemos operaciones y guardamos:
Estoy recorriendo la imagen en las líneas 5 y 6, luego extraigo el pixel en la línea 7. Más adelante extraigo los 3 niveles de color en las líneas 8 a 10.
Después hago las operaciones matemáticas para el modo sepia, ajusto los colores por si se pasan del 255 o están bajo 0 en la línea 18 a 22 y asigno el pixel sepia en la línea 23.
El código Python completo que toma una imagen y le aplica el filtro de sepia queda como se ve a continuación:
Al ejecutarlo y tener la imagen podemos ver que se genera la nueva con el filtro sepia, todo esto hecho por nuestras manos modificando cada pixel:
Para terminar te dejo con más tutoriales de Python en mi blog.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.