Chismes del Lince · MonteSteam · IES Monterroso

El laboratorio de imágenes del Lince

Una imagen es una cuadrícula de números. Carga una foto, aplícale un filtro y mira el programa en Python que lo hace y las ecuaciones que hay detrás. Todo ocurre en tu navegador: la foto no se sube a ningún sitio.

Antes de empezar: una imagen son números

¿Qué es una imagen de mapa de bits?
  • Es una cuadrícula de puntos llamados píxeles. Una imagen de 128 × 96 tiene 12.288 píxeles.
  • Cada píxel guarda tres números de 0 a 255: cuánta luz roja, verde y azul tiene (modelo RGB). (0, 0, 0) es negro, (255, 255, 255) es blanco y (255, 0, 0) es rojo puro.
  • En tu programa, orig[y][x] es el píxel de la columna x y la fila y. Se empieza a contar en 0 y la fila 0 es la de arriba.
  • Un filtro es simplemente un programa que recorre los píxeles y calcula otros nuevos con una fórmula.
Sin matemáticas no hay filtros
  • Brillo y contraste: funciones lineales, y = a·x + b.
  • Gamma: potencias. Gris: medias ponderadas.
  • Sepia: producto de una matriz por un vector.
  • Giros: trigonometría (seno y coseno) y cambios de coordenadas.
  • Desenfoque, enfoque, relieve: convolución con una matriz de pesos.
  • Bordes: derivadas aproximadas y teorema de Pitágoras.

1 Elige una imagen

Cargando…

La imagen se reduce a este tamaño para que Python la procese deprisa. Con 32 px puedes ver los píxeles uno a uno.

2 Elige un filtro

3 El programa que hace el filtro Python…

Ctrl + Enter ejecuta. Tab escribe 4 espacios (en Python la sangría importa). Puedes editar el programa: el filtro es solo la fórmula, lo demás es recorrer los píxeles.

Antes y después

Original
Resultado
Pasa el ratón por una imagen para ver los números de cada píxel.

La ecuación: –

Histograma de brillos

línea: original · relleno: resultado. Cuenta cuántos píxeles hay de cada brillo (0 oscuro a la izquierda, 255 claro a la derecha; altura en raíz cuadrada). El brillo, el contraste y el gamma lo desplazan, lo estiran o lo curvan.