Saltar al contenido

Una imagen es una tabla de números

Una foto es una tabla de números: tres por píxel, rojo, verde y azul. Lo ves en una manzana y por qué su rojo son miles de números. Curso de IA, 0.2.

Ramón Invarato
Tres láminas de cristal, roja, verde y azul, alineadas delante de una manzana que se ve en color a través de ellas, sobre un suelo negro que las refleja y ante un fondo azul oscuro con una franja de luz cálida

Una foto, para un ordenador, es una tabla: filas y columnas de casillas, y en cada casilla tres números, uno por color. Y en la piel de una manzana esos números cambian tanto de una zona a otra que el mismo rojo son miles de ternas distintas.

Toca esto primero

Abre esta manzana en la herramienta Imágenes. A la izquierda verás la foto; a la derecha, una tabla de 8 × 8 casillas, cada una pintada de su color y con tres números dentro. Cada casilla es un píxel, uno de los puntos de los que está hecha la imagen, y sus tres números dicen cuánto rojo, cuánto verde y cuánto azul lleva, de 0 a 255. Pincha en cualquier otra parte de la manzana y la tabla cambia a los píxeles de esa zona.

La manzana en la herramienta Imágenes: a la izquierda la foto, a la derecha una tabla de 8 × 8 píxeles con sus tres números de rojo, verde y azul

Ahora compara dos zonas de la misma piel roja. Abre la parte donde le da la luz: los números rondan 205, 127, 104. Y ahora el borde que queda en sombra: rondan 121, 1, 13.

Dos zonas de la misma piel roja: con luz, el píxel marca 205, 127, 104; en sombra, 121, 1, 13

Baja hasta Los tres canales, por separado y juntos. La misma manzana aparece cuatro veces: tres en gris y una en color.

Los tres canales de la manzana en gris: en el R sale casi blanca, en el G y el B casi negra; la cuarta junta los tres y sale en color

Qué acaba de pasar

Cada píxel guarda tres números, uno por color, y cada uno va de 0 a 255: 256 valores posibles, justo lo que cabe en un byte (8 bits). Con tres números así salen 256 × 256 × 256 = 16 777 216 colores distintos. La foto de la manzana mide 480 × 433 píxeles, así que son 207 840 píxeles y 623 520 números. Esos 623 520 números son toda la foto.

¿Por qué tres colores y no dos o cinco? Porque el ojo humano tiene tres tipos de conos, las células que distinguen el color, y cada tipo es más sensible a una zona distinta de la luz: longitudes de onda cortas, medias y largas (Cone cell, en la Wikipedia en inglés). Una pantalla aprovecha eso: mezclando solo tres luces, en la proporción justa, consigue que el ojo vea una gama muy amplia de colores.

Los canales son esas tres tablas por separado. En cada imagen gris hay un solo número por píxel: blanco es 255 (mucho de ese color) y negro es 0 (nada). En el canal R la manzana sale casi blanca, porque lleva mucho rojo; en el G y en el B sale casi negra. La cuarta imagen junta los tres números de cada píxel y vuelve a salir la foto en color.

Un detalle, porque Imágenes también tiene una pestaña de Base64 (una forma de escribir bytes cualesquiera con letras y números, para pegarlos como texto): lo que sale ahí son los bytes del fichero comprimido (un JPEG, un PNG), que guarda la imagen de forma mucho más compacta, y no esta tabla. Para llegar a los píxeles hay que descomprimirlo, que es lo que hace la tool antes de enseñártelos.

El error típico

Podrías pensar que el color es una propiedad de la manzana: la manzana es roja y ya está. Para el ordenador no. Pon las dos ternas de antes una al lado de la otra: con luz, 205, 127, 104; en sombra, 121, 1, 13. Cambian los tres números. El rojo baja de 205 a 121, y el que más cambia es el que menos esperarías en una manzana roja: el verde, que pasa de 127 a 1. Son dos ternas que no se parecen en nada, y las dos son «el rojo de la manzana».

Un programa que buscara manzanas por «el número del rojo» fallaría en cuanto cambiase la luz. Lo que hay que reconocer es una forma: un patrón entre muchos píxeles vecinos (cómo se hace eso se cuenta en Convolución).

Pruébalo tú mismo

En la manzana de la herramienta Imágenes, junto al rabillo, hay una zona amarilla. Antes de pinchar en ella, apuesta: ¿qué números esperas? ¿Cuál de los tres será el más bajo? Pincha y compruébalo. Después cambia de RGB a R, G y B con los botones de encima de la tabla y mira qué canal se queda con casi todo.

Luego abre el Conversor de Color y escribe las dos ternas de antes, una detrás de otra: rgb(205,127,104) y rgb(121,1,13). La tool las pasa a otra forma de describir un color, HSL (hue, saturation, lightness: tono, saturación y luminosidad). ¿Cuál de los tres números cambia menos entre la zona con luz y la de sombra? ¿Qué te dice eso de lo que significa «rojo»? (Una pista: el tono es un ángulo del círculo de color, de 0 a 360, así que 354 está muy cerca de 0.)

Y si quieres, en Imágenes puedes cargar una foto tuya y ver sus números.

Si quieres más

«Una imagen es una tabla de números», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Comentarios

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.