2025
const gray = 0.299 * R + 0.587 * G + 0.114 * B;
Esta fórmula refleja la sensibilidad del ojo humano a diferentes colores usando la formula de ITU-R BT.709
El algoritmo utiliza un análisis de colores para detectar el fondo de la imagen si es que asi se prefiere usando un promedio del color de los pixeles en la foto
from collections import Counter
color_counts = Counter(pixels)
bg_color = color_counts.most_common(1)[0][0]
El proceso de pixelación se basa en el algoritmo usado en la libreria de PIL, donde la imagen se reduce gradualmente antes de ser convertida a un formato de 1-bit (blanco y negro):
small = image.resize((w // scale, h // scale), BILINEAR)
binary = small.convert("1") # Conversión a 1-bit
result = binary.resize(original_size, NEAREST)
o navega por archivos