Check the new version here

Popular channels

Comprender cómo funciona el color en computadoras: RGB

¡Hola a todos los Taringueros! Para los novatos a quienes le interese el mundo de la computación y el diseño, aquí les traigo un regalito: La explicación de cómo funciona el color en los ordenadores. Posiblemente muchos hemos escuchado mencionar las siglas RGB como sinónimo de trabajo con color, pero tal vez no estamos claros de qué se trata. Pues aquí se los pongo, para que aprendan y lo disfruten.
El contenido de este artículo es imprescindible para todos los que tengan iterés de meterse de alguna forma en el mundo de los gráficos por computadora, y para el resto de las personas puede ser una curiosidad interesante.
Antes de proceder permítanme aclararles que esto lo he redactado yo, y eso significa que... todos pueden usar y reproducir libremente este contenido cuando deseen, je je je. Un mundo donde el conocimiento abunde será más bonito.

Esto es parte de una serie de tutoriales que estoy comenzando a redactar para mi página web http://www.oniroma.com , que ahora está naciendo. Todos los que termine se los paso a Uds, taringueros...

 
Parte 1. Luz roja, verde y azul: RGB


Lo primero que hay que saber para comprender bien los colores y la mayoría de los fenómenos que ocurren con ellos es lo siguiente:

El color es luz.

Muchos de nosotros fuimos acostumbrados de pequeños a pensar que los colores son los pigmentos que desde entonces hemos estado usando para dibujar o pintar: las temperas, las acuarelas, óleos, acrílicos... y más. En realidad estas sustancias son vehículos para lograr representar colores, no colores en sí.

El color es más bien una percepción humana. La luz emitida o reflejada por los diversos objetos llega a nuestros ojos y es registrada como colores. No en balde en los lugares completamente oscuros es imposible distinguir color alguno. Si no hay luz, no hay color, porque el color es la luz tal y como la percibimos con nuestros ojos (y con el resto de nuestro complejísimo aparato visual que incluye el cerebro).

Desde luego, los pigmentos juegan un papel fundamental en el tema de color. Son ellos quienes provocan que la luz reflejada en determinados objetos sea percibida como determinado color y no como otro, pues ellos (los pigmentos) transforman la luz reflejada en cierta medida. Dicho de manera muy simple mediante un ejemplo: Si la luz blanca incide sobre un objeto que ha sido pintado con pigmento azul, la misma es transformada de modo tal que al ser reflejada por el objeto en cuestión (la inmensa mayoría de los objetos reflejan la luz, por eso los vemos como colores) es percibida como luz azul al llegar a nuestros ojos. No obstante, como estamos interesados en el tema de los colores en computadora, en los cuales el mundo de los pigmentos no juega casi ningún papel en lo absoluto, nos olvidaremos de los pigmentos y nos concentraremos en la luz como tal.

Mezclando luces para obtener colores


Para comenzar a estudiar los fenómenos de la luz (el color) hagamos el experimento que explicaré a continuación.

Usando tres proyectores diferentes que estén dirigidos a una misma pantalla blanca en un cuarto oscuro (para que el efecto de otras luces no alteren el resultado), hagamos incidir sobre la misma sendos haces luz de los colores rojo, verde y azul. Es decir, cada uno de los tres proyectores proyectará uno de estos colores de modo que los tres haces de colores vayan a parar al mismo lugar en la pantalla. Sorprendentemente para muchos, el color resultante en la pantalla es el blanco.



Lo que ha sucedido aquí es que las tres luces (los tres colores) se han mezclado. Y la mezcla de estos tres colores da como resultado el color blanco.

Esto no parece tener sentido para los principiantes. Antes de saber esto nunca hubiéramos imaginado que mezclar rojo, verde y azul produciría un blanco. Y menos un blanco tan brillante como el que pudiéramos ver si en verdad lleváramos a cabo el experimento. En realidad, todo nuestro conocimiento anterior nos indicaría que a partir de esa mezcla de colores obtendríamos un color bastante oscuro y feo, sucio, mucho más cerca de ser un negro que un blanco.

Esa creencia surge a partir de nuestra experiencia previa con los pigmentos. En realidad, mezclar los pigmentos rojo, verde y azul, por ejemplo, en tempera, sí produciría el pigmento oscuro y sucio que he mencionado y que cualquiera que tenga un poco de experiencia en el trabajo con pigmentos puede imaginarse fácilmente. Pero, repito, se trata de pigmentos. Y los pigmentos, aunque influyen en los colores luz, no son luz como tal, de modo tal que es lógico esperar que los fenómenos que ocurren con los pigmentos y la luz no coincidan.

Así que hay que irse adaptando a la idea de que, tratándose de elementos de naturaleza tan diferentes (los pigmentos son substancias químicas y la luz son fotones que viajan a velocidades increíbles) toda experiencia previa que se tenga acerca de los resultados de la mezcla entre pigmentos, si se tiene alguna, es innecesaria para la adecuada comprensión del tema que explicaré en este artículo y en varios más. Más bien es posible que estorbe un poco. Así que si alguno de los lectores ha sido pintor o algo similar, olvide por un instante todo lo que conoce acerca de la mezcla de pigmentos (lo que los pintores llaman colores) y abra su mente al mundo diferente de la luz (lo que otras personas llamamos colores).

Volvamos a nuestra mezcla de colores rojo, verde y azul, dando como resultado blanco. Naturalmente, no se trata de cualquier rojo, cualquier verde o cualquier azul. Es determinado rojo, determinado verde y determinado azul, que constituyen colores modelos a los cuales llamaremos colores primarios. Lucen más o menos así:



He puesto “más o menos” pues diferentes pantallas mostrarán de manera ligeramente diferente estos tres colores, por cuestiones técnicas que van más allá del ámbito de este documento.

Los que conozcan de colores pigmento posiblemente estarán en total desacuerdo con lo que acabo de decir de los colores primarios. Para ellos los colores primarios no son estos que acabo de mostrar. Sobre todo les parecerá un disparate incluir el color verde entre los primarios por la siguiente regla universal del color:

Los colores primarios son colores especiales que no pueden ser obtenidos a partir de la mezcla de ningunos otros colores. En cambio, con la mezcla de los colores primarios se pueden obtener todos los colores posibles.

Entonces, quien haya pintado alguna vez en su vida, sabe que con la pintura es posible conseguir el color verde a partir de la mezcla del amarillo y el azul, de modo tal que el verde no puede ser un color primario... en el reino de los pigmentos. Otra vez quiero dejar claro que hay notables diferencias entre la mezcla de colores pigmento y la mezcla de colores luz. Y por esa razón existen los colores primarios luz y los colores primario pigmento, dos tríos distintos de colores con los cuales se cumple cabalmente la regla que he enunciado en el párrafo anterior.

En el reino de la luz, el verde que he mostrado sí es un color primario. Tanto que, cumpliendo la regla, no puede ser obtenido de la mezcla de ningunos otros colores.

Por cierto, si alguno de los que está leyendo esto no tiene ninguna experiencia previa mezclando colores pigmento, de modo que no haya entendido por qué razón este asunto del verde genera una contradicción aparente (y falsa, como acabo de exponer), que no se preocupe por eso. Posiblemente sea mejor así, para no generar confusiones innecesarias. Que olvide los dos párrafos anteriores y siga leyendo, aprendiendo todo lo que pongo de aquí en adelante acerca de los colores luz.

Ya establecimos que los colores primarios luz son el rojo, el verde y el azul. También dijimos que a partir de la mezcla de los primarios es posible obtener cualquier color. Este principio es aprovechado por las computadoras para generar los colores a partir de trabajar únicamente con esos tres primarios.

Para cada color que haya que mostrar o computar, la computadora emite una mezcla de los tres colores primarios luz con diferentes intensidades. Debido al nombre de estos tres colores en inglés (Red, Green and Blue) se ha tomado las siglas RGB para denominar esta forma de expresar los colores, la cual me dispongo a explicar brevemente a continuación.

Cada uno de los tres colores primarios RGB tiene un rango de intensidad que generalmente va desde 0 (el valor menor posible de intensidad) hasta 255 (la intensidad máxima posible de emisión de color):



A cada uno de los tres colores expresados en un rango así le llamaremos “canal”. De modo que podemos decir que aquí hemos representado los canales R, G y B usados para componer un color.

Si, por ejemplo, se emite el canal R a la mayor intensidad posible (255 en este caso), dejando los canales G y B a la menor intensidad posible (0, que en realidad significa la no-emisión) obtenemos:



… el rojo, por supuesto. El mismo color rojo que representa uno de los primarios luz, pues aquí no se ha mezclado con ninguno de los otros dos primarios, así que se está mostrando en su forma más pura.

Ya he explicado que mediante la mezcla de los tres colores primarios luz (con intensidades iguales, añado ahora) es posible obtener blanco. Esto, expresado en canales RGB luciría así:



Aquí se ve como la emisión al máximo de los tres canales a la vez da como resultado el blanco.

¿Y qué tal si la emisión de los tres canales estuviera al mínimo para cada uno de ellos? El mínimo es 0, como ya se dijo, y el color resultante es:



El negro. La ausencia de luz. La no-emisión. Por esa razón es que algunos autores prefieren decir que el negro no es un color. Dicen que es más bien la ausencia del color, y si tenemos en cuenta que el color es luz, vemos que tal consideración no es incorrecta. Sin embargo nosotros le seguiremos llamando color a nuestro negro “absoluto” resultante de la no emisión RGB. Es lo que la gran mayoría de la gente hace.

De la emisión RGB con diferentes valores de intensidad por cada canal se obtienen todos los colores que se puedan representar en una computadora. He aquí unos pocos ejemplos:



A todos les recomiendo que no traten de hallar la lógica encerrada en la obtención de los colores que acabo de mostrar observando los valores RGB que los representan. Los colores que se obtienen en cada caso son una expresión de la mezcla de colores luz, que es un fenómeno no intuitivo en la gran mayoría de los casos. Esto quiere decir que no importa cuánto tratemos de analizar y de usar la lógica, lo más posible es que no saquemos en claro ninguna conclusión que nos permita prever qué color va a resultar de determinado trío de valores RGB (o que saquemos conclusiones no del todo correctas, o bien conclusiones incompletas).

La mezcla de colores luz sí tiene sus reglas, pero son difíciles de descubrir por nosotros mismos. Se rigen bajo las leyes de algo llamado “Síntesis Aditiva”, un fenómeno que no explicaré aquí, pero que dicta la mecánica de estos colores al ser mezclados y que es algo que no es similar a nada que hayamos visto anteriormente. La “Síntesis Aditiva” se diferencia de la “Síntesis Substractiva”, la cual dicta las leyes de la mezcla de colores pigmento, con la que algunos de ustedes seguramente estarán seguramente familiarizados al haber usado los diferentes tipos de pinturas. Pero esto, insisto, no nos sirve para el campo de la luz.

No me detendré a explicar la Síntesis Aditiva, pues no es necesario para la gran mayoría de los que incursionan en el campo de los gráficos computarizados. No obstante, me tomaré la libertad de mencionar de manera muy superficial una de las leyes que se derivan de ella, y que es muy fácil de entender aplicada a RGB: El color resultante será un color más claro en la medida en que la emisión de los tres canales sea más intensa. Y viceversa: se obtendrá un color más oscuro en la medida en que haya menor intensidad de emisión de manera general.

Sabiendo eso, tratemos de verlo en los siguientes ejemplos:



Observemos como los colores más oscuros, situados a la izquierda, corresponden a una intensidad de emisión más baja de manera general, mientras que los más claros, situados a la derecha, tienen intensidades mayores. Es bien simple de comprender. Por decirlo de otra forma: luz más intensa es luz “más clara” y luz menos intensa es luz “más oscura”.


RGB en diferentes programas


En la gran mayoría de los programas que trabajan de alguna forma con colores existe una forma de operar directamente con los canales RGB para obtener un color. En muchos de ellos existen otras formas adicionales para seleccionar colores, como puede ser paletas con muchos colores predefinidos entre los cuales se puede escoger, o el uso de otros modelos de color que no son el RGB, y que estudiaremos más adelante, muy pronto. La existencia de las vías alternativas está justificada por lo difícil que es usar la mezcla RGB con eficacia.

Sin desviar nuestra atención por el momento de RGB, veremos cómo estos programas le dedican un espacio en su interface para operar directamente con los tres canales. Por ejemplo, en el caso del Paint, que es el programa que trae Windows para pintoretear un poco con el mouse, se puede sintetizar cualquier color usando los canales RGB, entre otras vías:



A este tipo de ventanas que aparecen de vez en cuando en los programas para servir a una función determinada del mismo se les llama “Cuadro de diálogo”, o simplemente “Diálogo” (en inglés Dialog). En el caso de este cuadro de diálogo para seleccionar colores del Paint, se puede acceder haciendo click en el botón “Edit Colors” (Editar colores) de la parte superior derecha de la interface en el caso de Windows 7 o Vista, o en el menú “Colors” en el caso de Windows XP.

Si observamos este diálogo, vemos que la única alternativa en Paint no es trabajar con RGB. También ofrece, como se muestra, una paleta de colores pre-establecidos, pero su gama es muy limitada. Adicionalmente se muestran otros parámetros con los cuales es también posible sintetizar color y que conoceremos bien pronto, porque son muy importantes. Pero estas cosas sólo son vías alternativas, formas adicionales de obtener colores que bien pueden ser obtenidos únicamente mediante la mezcla RGB. Quiere decir que, si la interface del Paint solamente tuviera los tres campos que he señalado (Red, Green, Blue) sería posible de todas formas obtener cualquier color. Pero no sería la alternativa más fácil, como se verá.

Por el momento vamos a ver un par de ejemplos más de programas que de alguna forma operan con colores, y la forma en la que los canales RGB están expresados en su interface.

En el caso del Adobe Photoshop se puede ver que reserva una parte del cuadro de diálogo de determinar colores para los canales RGB:



Aquí otra vez aparecen muchos elementos adicionales. No nos preocuparemos por ellos ahora. Lo cierto es que si ponemos en esos tres campos el trío de valores correspondientes a cualquier color (por ejemplo: blanco = 255, 255, 255) ése es color que obtenemos. No nos angustiemos por no saber aún el papel que juegan los parámetros adicionales. Les garantizo que lo sabremos.

Por otra parte está el cuadro de diálogo de determinar colores en 3ds Max:



En Max el trabajo con los canales RGB es más dulce, pues se nos presenta de manera muy gráfica mediante barras similares a los esquemas que he mostrado en este documento. Para cualquiera que vea esta imagen puede resultar un poco confuso el hecho de que las tres barras están teñidas con colores que aparentemente no tienen nada que ver con el canal al que corresponden. Yo sugiero que obviemos ese hecho. Tales colores sí tienen un significado coherente en ese programa debido a un efecto adicional que no explicaré aquí ya que se sale del hilo del contenido de este documento. Por el momento miremos estas tres barras como si no estuvieran teñidas por color alguno, de modo tal que sólo nos interesen los valores numéricos que las mismas representan.

Si alguno de ustedes es usuario de 3ds Max y está empeñado en saber qué significan esos colores, les informo que está claramente explicado en la ayuda del programa, en un tema llamado “Color Selector Dialog” (Diálogo de Selección de Color), pero para comprenderlo del todo bien recomiendo que lo consulten una vez que hayan finalizado de leer el presente documento, pues se manejan términos que aún no he mencionado y que estudiaremos. En cuanto a los usuarios de Adobe Photoshop, les anuncio que tienen mucho menos de qué preocuparse, pues el diálogo de selección de color en ese programa es un brillante modelo en el cual es posible ver muy claramente varios conceptos que estamos a punto de estudiar, de modo que ese diálogo sí será bastante bien explicado en este documento. Su comprensión le servirá incluso a aquéllos que no trabajen con este programa, primero porque expresa los conceptos de color que estudiaremos de una forma muy clara y segundo porque muchos otros programas tienen diálogos de selección de color que trabajan de manera muy similar.

En otras palabras, el diálogo de selección de color de Adobe Photoshop es una maravilla que debe ser estudiada y ya veremos por qué. Sean pacientes.


Consideraciones ¿finales? acerca del modelo RGB

Como ya he mencionado, la determinación de colores a partir de la mezcla RGB se rige por las reglas de la Síntesis Aditiva, las cuales no estudiaremos en este documento por dos razones fundamentales:

Uno, son reglas bastante complejas y por lo tanto difíciles de memorizar. Obtener el color ese que tenemos en la mente o que estamos observando en la naturaleza, mediante el manejo de los canales RGB es algo que pocos logran hacer con efectividad.

Y dos: hay vías más fáciles para obtener colores. Son varias, en realidad, pero nos vamos a concentrar en una de ellas, que explicaré con calma en la Parte 2 de este documento. Es muy sencilla de entender y de usar, y se puede decir que con ella también se puede obtener cualquier color.

Así que no nos complicaremos (más) nuestras vidas debatiendo acerca de la mezcla RGB, con la cual es difícil operar. Sobre el modelo RGB basta con conocer lo siguiente:

* Todos los colores que se puedan mostrar (y procesar) en una computadora se pueden expresar en una mezcla de los tres colores luz primarios: rojo, verde y azul (RGB por sus nombres en inglés) con diferentes niveles de intensidad de emisión cada uno de ellos.
* Generalmente la intensidad de cada uno de estos tres colores que componen la mezcla (y que llamamos canales) se da en un rango de 0 a 255. La combinación de todos los tríos de valores posibles de intensidad da como resultado más de 16,7 millones de colores posibles (son 256 x 256 x 256 = 16 777 216 )… suficiente para la representación de todo tipo de imágenes.
* Nota para los más interesados en matemática: No es un error que para el cálculo se haya usado 256 en vez de 255: es que en el rango 0-255, el cero es tan válido como el resto de los números del rango, así que ese rango tiene en realidad una cantidad de 256 elementos, pues el cero se incluye como uno más.
* La inmensa mayoría de las veces los colores son almacenados en memoria de esa misma forma, es decir, usando tres valores dentro del rango 0-255 que corresponden a cada uno de los tres canales RGB. No importa que la vía que se haya usado para obtener los colores sea el uso de algún método alternativo como el que se explicará en la Parte 2 de este documento, el color obtenido es de todas maneras transformado en secreto a los valores RGB correspondientes para su procesamiento y almacenamiento.
* Por lo explicado anteriormente, el modelo RGB es la mejor vía para transportar colores. Es decir, si en algún momento tenemos que llevar un color de un programa a otro, o bien decirle a nuestro amigo por teléfono qué color hemos usado para determinada parte del diseño, todo lo que tenemos que hacer es trasmitir el trío de valores RGB correspondiente, y con eso tenemos la seguridad absoluta de estar expresando el color con rigor. Asimismo usaremos los tres valores RGB para apuntar colores que no queremos olvidar en un papel si alguna vez lo necesitamos. Muchas veces me he visto en esa necesidad. Y entonces lo que escribo en el papel son tres números con los que muy pocas personas pudieran tener idea del color que ellos representan al ser leídos, pero que al ser escritos en los campos correspondientes de cualquiera de los diálogos de color que he mostrado en este documento, generan con mucha precisión el mismo resultado



Existen algunos casos aislados que constituyen excepciones de estos puntos que acabo de explicar, pero son extremadamente pocos y muy específicos de ciertas tecnologías que se salen casi siempre de las formas estándares de almacenamiento y procesamiento del color. Así que lo expuesto bien puede ser considerado como completamente cierto.

Y con esto termino todo lo que iba a explicar acerca del modelo RGB, que es la Parte 1 de este documento. Como ya he dicho, las reglas de la Síntesis Aditiva no serán explicadas aquí. A algunos les pudiera parecer una lástima, ya que el conocimiento de las mismas permite sintetizar cualquier color de forma directa con la mezcla RGB. Pero esto es innecesario, pues en la Parte 2, que viene muy pronto, se explica una vía alternativa de determinar colores que es muy sencilla y efectiva, y que se puede emplear en la inmensa mayoría de los programas. Y además, se trabaja con conceptos más generales que son aplicables no sólo a los colores luz, sino también a cualquier cosa que podamos considerar color. Es la parte más útil de este documento con toda seguridad, así que les recomiendo a todos que no se la pierdan.


...tomado de mi página http://www.oniroma.com/index.php/rgb
0
2
0
0
2Comments
Cadedra

¡Eh! ¡+1! ¡Mi primer punto en Taringa! ¡¡Soy ricooo!! 😄

0
gorderobcs

mucha t muy buena info que no lei!

0