¿Cómo interpreto los colores individuales en el histograma RGB?

Sé cómo leer el histograma de Luminosidad y pensé que también sabía cómo leer el histograma RGB, hasta que vi el siguiente ejemplo:

ingrese la descripción de la imagen aquí

El histograma RGB muestra exactamente los mismos 3 'picos'. ¿Que son estos? Puedo decir que todos provienen de la misma fuente del 'cielo', pero ¿por qué no están en el mismo lugar horizontal?

Respuestas (2)

Simple: el color del cielo se compone de la mezcla de los tres canales. Si fuera gris, habría cantidades iguales de rojo, verde y azul. Sin embargo, no lo es: hay mucho más azul, un poco menos verde y muy poco rojo. Más o menos así:

RGB

Observe cómo las flechas en el control deslizante tienen casi exactamente los mismos porcentajes que los picos en su histograma.

Si pones todos los controles deslizantes en el mismo lugar...

gris

...las líneas del histograma coincidirían, pero tu color cambiaría...

comparar

...a gris oscuro en lugar del tipo de verde azulado que tenía en la imagen de muestra.


Aquí hay una representación de la forma digital de este archivo. Cada píxel es una tríada de (red,green,blue), por lo que un píxel verde azulado se representa como ( 28,123,142). Debido a que hay mucho espacio para escribir, estoy haciendo esta resolución muy baja, pero deberías entender la idea. Aquí, los valores van de 0 a 255.

( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  (201,201,201)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)
( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)  ( 28,123,142)

Esto termina pareciéndose a esta pequeña cosita:muestra

No tengo el mismo software que tú, pero cárgalo en tu programa y mira el histograma. El histograma solo muestra una representación gráfica de los recuentos de cada canal en cada nivel. Debería ver un pequeño bulto en el medio a la derecha que representa el punto gris y luego picos en 28 para rojo, 123 para verde y 142 para azul. Esto es lo que parece en el software que tengo:

histograma de muestra

La imagen no se ve muy roja, y no lo es. Pero el rojo que hay está agrupado en ese único color, y ese es un gran porcentaje de la imagen, por lo que obtienes un pico.

Esta es una herramienta bastante técnica y, aunque puede ser muy útil, no muestra un buen mapa de percepción de los colores de la imagen. Esa sería una visualización diferente.

Algo que podría parecerse más a lo que desea se llama "histograma de color 3D". El complemento Color Inspector para ImageJ hace esto, al igual que el programa Colorspace solo para Windows , o puede usar este sitio web: http://3dhistogram.com , que acabo de descubrir y que parece bastante ingenioso (y sin complicaciones) pero es quizás más genial que útil.


En la discusión en los comentarios debajo de esta respuesta, ClarityForce señala la buena implementación de código abierto de Hue Histograms de Tyler Neylon . Hay un histograma "tradicional", un gráfico circular y una versión combinada. La versión combinada se ve muy bien con muchas imágenes reales, pero no es tan impresionante con la muestra de la imagen de la luna recortada de la publicada en la pregunta. Sin embargo, aquí está el histograma de tono y el gráfico circular de eso:

histograma de tono de muestra de lunagráfico circular de tono de muestra de luna

Y, solo por diversión, aquí están los tres tipos de gráficos de tonos que puede hacer para la Mona Lisa:

histograma de mona hue

Entiendo que el color del cielo es una mezcla de canales RGB y que hay muy poco rojo en ese color. Sin embargo, según el histograma, debería haber una gran cantidad de rojo (el pico es alto) y debería ser casi negro (el pico está en el lado izquierdo). Al mirar la imagen, todavía no puedo ver nada de eso y todavía no entiendo cómo interpretar el histograma :(
@ClarityForce: echa un vistazo a los controles deslizantes que he publicado. Hay una cantidad muy grande de ese rojo casi negro. Es un componente del color verde azulado.
¡Gracias por la actualizacion! ¿Estás seguro de que la alineación de las flechas no es pura coincidencia? Pensé que la posición horizontal en el histograma debería representar el rango tonal o el brillo y no el color en sí. Si es realmente el caso, diría que el histograma RGB es bastante inútil :(
Creo que veo el malentendido ... no piense en el pico como rojo "que contribuye a la oscuridad", sino como rojo que no contribuye mucho al brillo. La altura del pico representa el número de píxeles en los que el valor rojo es un componente muy pequeño del color. A diferencia del histograma compuesto (luminancia), los canales individuales no le dicen mucho sobre el brillo general, solo las proporciones de los canales de color distribuidos en la escena. Puede informarle sobre el recorte de canales individuales y los cambios de color brutos, pero no refleja directamente la tonalidad.
@mattdm muchas gracias por las actualizaciones y por responder a mis preguntas. Realmente aprecio eso. Creo que todo está 100% claro ahora. El principal problema era entender por qué el 'punto rojo' está tan a la izquierda del 'verde' y el 'azul'. La matriz de colores que presentaste me ayudó mucho: ¡28 (de 255) es un número muy bajo (oscuro) y muy lejos de 123 (verde) y 142 (azul)!
@ClarityForce: ¿el software que está utilizando tiene un histograma de tono ? Y si es así, ¿eso hace más de lo que quieres?
@mattdm Es Photoshop CS6 beta :) ¿No es el 'Tono' lo mismo que 'Colores' ya? Están disponibles los siguientes canales: RGB, Rojo, Verde, Azul, Luminosidad, Colores
@ClarityForce: No. el histograma de colores es básicamente los histogramas R, G y B superpuestos en el mismo gráfico (con CMYK donde se superponen); el eje horizontal sigue siendo el valor del canal de ese color. Un histograma de tono tendría el "color espectral" como eje horizontal, así: chiselapp.com/user/saulgoode/repository/script-fu/…
@mattdm ¡Gracias por el enlace! También encontré accidentalmente esto: blog.zillabyte.com/color-as-data y esto: blog.zillabyte.com/hue-histograms
@ClarityForce: ¡Es maravilloso! Cuando tenga la oportunidad, actualizaré mi respuesta para llamar más la atención sobre eso.

Descompuse su imagen en los colores que la componen en GIMP con Color | Componentes | Descomponer, a Modelo de color: RGB y con 'Descomponer en capas' marcado. Cuando miro las capas individuales, esto es lo que veo:

capa roja capa verde capa azul

Supongo que la mayor parte de cada "color" se dedica a pintar el fondo; la capa roja hace que el fondo sea completamente negro, por lo que el pico está tan a la izquierda, y las capas verde y azul son más grises medios. Pero... eso es solo una suposición.

Un histograma más interesante para usted podría requerir eliminar el fondo. Seleccioné solo la luna (dibujando un círculo con la herramienta Elipse), invertí la selección (Seleccionar | Invertir), habilité la transparencia de la imagen con Capa | Transparencia | Agregue Alpha Channel y luego presione la tecla Eliminar para eliminar todo el fondo. Ahora obtengo este histograma de solo la luna:

rgb de solo luna