Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created November 16, 2021 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/80279da6c376a96daac952fcfd13a649 to your computer and use it in GitHub Desktop.
Save parzibyte/80279da6c376a96daac952fcfd13a649 to your computer and use it in GitHub Desktop.
"""
https://parzibyte.me/blog
"""
import numpy as np
import imageio
NOMBRE_IMAGEN = "travel.bmp"
def leer_imagen(ruta):
return np.array(imageio.imread(ruta), dtype='int').tolist()
def guardar_imagen(ruta, matriz):
return imageio.imwrite(ruta, np.array(matriz, dtype="uint8"))
def sepia(nombre_imagen):
matriz = leer_imagen(nombre_imagen)
ancho = len(matriz[0])
alto = len(matriz)
for y in range(alto):
for x in range(ancho):
pixel = matriz[y][x]
original_rojo = pixel[0]
original_verde = pixel[1]
original_azul = pixel[2]
sepia_rojo = round(0.393*original_rojo +
0.769*original_verde+0.189*original_azul)
sepia_verde = round(0.349*original_rojo +
0.686*original_verde+0.168*original_azul)
sepia_azul = round(0.272*original_rojo +
0.534*original_verde+0.131*original_azul)
pixel_sepia = [sepia_rojo, sepia_verde, sepia_azul]
for indice in range(len(pixel_sepia)):
if pixel_sepia[indice] < 0:
pixel_sepia[indice] = 0
elif pixel_sepia[indice] > 255:
pixel_sepia[indice] = 255
matriz[y][x] = pixel_sepia
return matriz
guardar_imagen("travel_sepia.bmp", sepia(NOMBRE_IMAGEN))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment