1. Representación de imágenes en el computador

En redes sociales es cada día más común encontrar memes graciosos y dirvertidos. Un meme muy utilizado es el siguiente:

Meme1

En muchas oportunidades los memes nos divierten y los compartimos a nuestros amigos por redes sociales para robarles una sonrisa y entablar una conversación, pero ¿alguna vez te has preguntado cuál es el proceso que ocurre cuando compartimos una imagen por el computador o el celular? En esta lectura trataremos de dar una breve introducción a la manera en la que un computador o celular entiende una imagen.

Un primer ingrediente que tenemos que analizar es el hecho que para un computador o un celular una imagen corresponde a un arreglo rectangular de pixeles, donde cada pixel corresponde a un color. En efecto, si tomamos una foto en un computador y la ampliamos lo suficiente podemos identificar los distintos pixeles como se muestra en la siguiente figura

Pixeles

En la anterior figura podemos observar un arreglo de 5x5 pixeles (5 filas y 5 columnas), es decir, tenemos 25 pixeles cada uno con un color asignado.
Un segundo ingrediente que tenemos que analizar es la manera en la que un computador representa los colores.

Para empezar y simplificando la discusión, supongamos que tenemos una imagen en escala de grises, es decir, supongamos que tenemos una imagen en blanco y negro. Cuando tenemos una imagen en la escala de grises es común representar cada pixel como un número entre 0 y 255, donde 0 se toma como el color negro y 255 se toma como el color blanco. Dependiendo de la intensidad de cada pixel se asigna un número. De esta manera, para un computador una imagen en la escala de grises corresponde a una matriz donde cada entrada toma un valor entre 0 y 255 dependiendo del color del pixel correspondiente. Para ilustrar este proceso tenemos el siguiente ejemplo:

Moto en el computador  (Créditos: Foto tomada de la página https://freecontent.manning.com/the-computer-vision-pipeline-part-2-input-images/)

En la ilustración anterior, en el lado izquierdo tenemos una foto de tamaño 24x24 pixeles, es decir, tenemos una foto con 576 pixeles. El computador representa dicha imagen como una matriz de tamaño 24x24 como se muestra en el lado derecho de la anterior ilustración.
Consideremos ahora el caso de una imagen a color. Una forma de representar los colores en un computador es utilzando el sistema RGB (red, green, blue, es decir, rojo, verde y azul). En otras palabras, en el sistema RGB se utilizan los colores primarios para codificar los colores. En este sistema cada color se representa con una tripleta de números cada uno entre 0 y 255, donde la primera coordenada corresponde a la intensidad del color rojo, la segunda entrada corresponde a la intensidad del color verde y la tercera entrada corresponde a la intensidad del color azul. Por ejemplo, en el sistema RGB la tripleta (255, 255, 0) corresponde al color amarillo que se obtiene al mezclar el color rojo con el color verde.
De esta manera, un computador representa una imagen a color como tres matrices de tamaño $m\times n$,  donde $m$ es el número de filas de pixeles y $n$ es el número de columnas de pixeles y donde la primera matriz codifica el color rojo, la segunda matriz codifica el color verde y la tercera matriz codifica el color azul.

Así, cuando compartes este meme

 Meme1

lo que estás compartiendo en realidad son tres matrices cuyas entradas contienen las representaciones en el sistema RGB de cada pixel. La pregunta es entonces, ¿utilizas álgebra al mandar el meme de otro día sin utilizar álgebra o no?