Histograma de color
# Histograma de color

En los campos procesamiento de imagen y fotografía, un histograma de color es una representación anterior de la distribución del color en una imagen. En las imágenes digitales, un histograma de color representa el número de píxeles que tienen colores en cada una de las listas fijas de rangos de colores, que se extienden sobre el espacio de color de la imagen, es decir, el conjunto de todos los posibles colores.

El histograma de color puede ser construido para cualquier tipo de espacio de color, aun cuando el término es usado más frecuentemente en espacios tridimensionales como RGB o HSV. Para imágenes monocromáticas, el término histograma de intensidad puede ser usado en su lugar. Para imágenes multiespectrales, donde cada pixel es representado por un número arbitrario de medidas (además de las tres medidas en RGB), el histograma de color es N-dimensional, con N siendo el número de medidas tomadas. Cada medida tiene su propio rango de longitud de onda del espectro de luz, algunos de los cuales pueden estar fuera del espectro visible.

Si el conjunto de posibles valores es suficientemente pequeño, cada uno de esos colores puede ser puesto en un rango por sí mismo; entonces el histograma no es más que el conteo de los pixeles que tiene cada posible color. Más a menudo, el espacio es dividido en un número apropiado de rangos, con frecuencia arreglados como una rejilla regular, cada una conteniendo muchos valores de colores similares. El histograma de color puede también ser representado y mostrado como una función suave definida sobre el espacio de color que aproxima el conteo de pixeles.

Como otros tipos de histogramas, el histograma de color es una estadística que puede ser visto como una aproximación de distribución continua fundamental de valores de colores.

## Visión general

Los histogramas de color son estructuras que pueden ser creadas a partir de imágenes de diferentes espacios de color, o sea RGB, cromaticidad rg o cualquier espacio de color en cualquier dimensión. Un histograma de una imagen es producido primero a partir de la discretización de los colores en una imagen en números de grupos, y luego se cuenta el número de pixeles de la imagen en cada grupo. Por ejemplo, a un histograma de cromaticidad en Rojo-Azul puede ser formado, primero normalizando los valores de los pixeles dividiendo los valore RGB por R+G+B, luego se aplica una cuantización a los valores normalizados de R y B dentro de cada uno de los N grupos. Un histograma bidimensional de cromaticidad en Rojo-Azul dividido en 4 grupos(N=4) pudiera producir un histograma con una apariencia semejante a esta tabla:

| | | red | red | red | red |
| - | - | - | - | - | - |
| | | 0-63 | 64-127 | 128-191 | 192-255 |
| blue | 0-63 | 43 | 78 | 18 | 0 |
| blue | 64-127 | 45 | 67 | 33 | 2 |
| blue | 128-191 | 127 | 58 | 25 | 8 |
| blue | 192-255 | 140 | 47 | 47 | 13 |

A histogram can be N-dimensional. Although harder to display, a three-dimensional color histogram for the above example could be thought of as four separate Red-Blue histograms, where each of the four histograms contains the Red-Blue values for a bin of green (0-63, 64-127, 128-191, and 192-255).

El histograma provee un resumen compacto de la distribución de los datos en una imagen. El histograma de color de una imagen es relativamente invariante con respecto la traslación y rotación sobre los ejes de vista, solamente varía lentamente con respecto al ángulo de vista. Para la comparación de los colores contenidos dentro de dos imágenes, los histogramas de color son particularmente adecuados para resolver el problema de reconocer un objeto en una posición y rotación desconocida dentro de una escena. Es muy importante saber que, el desplazamiento de una imagen RGB dentro el espacio de cromaticidad RG de iluminación invariante permite a los histogramas operar con niveles de luz variables.

## Ejemplo

Dada la siguiente imagen de un gato (una versión original y una versión que ha sido reducida a 256 colores con el propósito de simplificar el histograma), los siguientes datos representan un histograma de color en el espacio RGB, usando cuatro grupos. El grupo 0 corresponde a la intensidad 0-63, el grupo 1 a 64-127, Grupo 2 a 128-191, y el grupo 3 a 192-255.

| Red | Green | Blue | Conteo de Pixeles |
| - | - | - | - |
| 0 | 0 | 0 | 7414 |
| 0 | 0 | 1 | 230 |
| 0 | 0 | 2 | 0 |
| 0 | 0 | 3 | 0 |
| 0 | 1 | 0 | 8 |
| 0 | 1 | 1 | 372 |
| 0 | 1 | 2 | 88 |
| 0 | 1 | 3 | 0 |
| 0 | 2 | 0 | 0 |
| 0 | 2 | 1 | 0 |
| 0 | 2 | 2 | 10 |
| 0 | 2 | 3 | 1 |
| 0 | 3 | 0 | 0 |
| 0 | 3 | 1 | 0 |
| 0 | 3 | 2 | 0 |
| 0 | 3 | 3 | 0 |
| 1 | 0 | 0 | 891 |
| 1 | 0 | 1 | 13 |
| 1 | 0 | 2 | 0 |
| 1 | 0 | 3 | 0 |
| 1 | 1 | 0 | 592 |
| 1 | 1 | 1 | 3462 |
| 1 | 1 | 2 | 355 |
| 1 | 1 | 3 | 0 |
| 1 | 2 | 0 | 0 |
| 1 | 2 | 1 | 101 |
| 1 | 2 | 2 | 882 |
| 1 | 2 | 3 | 16 |
| 1 | 3 | 0 | 0 |
| 1 | 3 | 1 | 0 |
| 1 | 3 | 2 | 0 |
| 1 | 3 | 3 | 0 |
| 2 | 0 | 0 | 1146 |
| 2 | 0 | 1 | 0 |
| 2 | 0 | 2 | 0 |
| 2 | 0 | 3 | 0 |
| 2 | 1 | 0 | 2552 |
| 2 | 1 | 1 | 9040 |
| 2 | 1 | 2 | 47 |
| 2 | 1 | 3 | 0 |
| 2 | 2 | 0 | 0 |
| 2 | 2 | 1 | 8808 |
| 2 | 2 | 2 | 53110 |
| 2 | 2 | 3 | 11053 |
| 2 | 3 | 0 | 0 |
| 2 | 3 | 1 | 0 |
| 2 | 3 | 2 | 170 |
| 2 | 3 | 3 | 17533 |
| 3 | 0 | 0 | 11 |
| 3 | 0 | 1 | 0 |
| 3 | 0 | 2 | 0 |
| 3 | 0 | 3 | 0 |
| 3 | 1 | 0 | 856 |
| 3 | 1 | 1 | 1376 |
| 3 | 1 | 2 | 0 |
| 3 | 1 | 3 | 0 |
| 3 | 2 | 0 | 0 |
| 3 | 2 | 1 | 3650 |
| 3 | 2 | 2 | 6260 |
| 3 | 2 | 3 | 109 |
| 3 | 3 | 0 | 0 |
| 3 | 3 | 1 | 0 |
| 3 | 3 | 2 | 3415 |
| 3 | 3 | 3 | 53929 |

## Desventajas y otras aproximaciones

La principal desventajas de los histogramas para clasificar es que la representación depende del color del objeto que está siendo estudiado, ignorando su forma y su textura. Los histogramas de color pueden potencialmente ser idénticos en dos imágenes con diferentes objetos que comparten información de color. Recíprocamente, sin información espacial o de forma, objetos similares de diferentes colores pueden ser indistinguibles basados solamente en las comparaciones de los histogramas de color. No hay forma de distinguir una taza blanca y roja de un plato blanco y rojo. Puesto de otra forma, los algoritmos basados en histogramas, no tienen el concepto de una taza genérica y un modelo de una taza roja y blanca cuando es se compara con una taza azul y blanca idéntica. Otro problema es que los histogramas de color tienen alta sensibilidad a las interferencias de ruido como pueden ser cambios en la intensidad de la iluminación y errores de cuantización. Histogramas de color con grandes dimensiones (grupos) constituyen otro problema. Algunos histogramas de color con frecuencia ofrecen espacios con más de cien dimensiones.

Algunas de las soluciones propuestas han sido intersecciones entre histogramas de color, indización de constantes de colores, histogramas de color acumulativos, distancia cuadrática y correlogramas de color. Aun cuando hay inconvenientes al usar histogramas de color para indizar y clasificar, usar el color en tiempo real tiene varias ventajas. Una de ellas es que la información del color es más rápida de computar comparada con otras invariantes. Se ha demostrado en algunos casos que el color puede ser un método eficiente para identificar objetos de localización y apariencia conocida.

Nuevas investigaciones sobre la relación entre los datos de histogramas de color y las propiedades físicas de los objetos en una imagen han mostrado que estos pueden representar no sólo la iluminación y el color del objeto, sino también la geometría de la imagen y su rugosidad, para proveer una mejor estimación de la iluminación y el color del objeto.

Usualmente, la distancia Euclidiana, el histograma de intersección, o coseno o distancias cuadrática son usadas para calcular el grado de similitud de imágenes. Un histograma de color bidimensional es un arreglo bidimensional. El tamaño de cada dimensión es el número de colores que fueron usados en la fase de cuantización del color. Estos arreglos son tratados como matrices, donde cada elemento almacena una cantidad normalizada de pares de pixeles, con cada color corresponde el índice de un elemento en cada vecindad del pixel. La comparación de histogramas bidimensionales de color es sujeta al cálculo de sus correlaciones, ya que por la construcción antes dicha, es un vector aleatorio (en otras palabras, un valor aleatorio de dimensión múltiple). Mientras se crea un conjunto de imágenes finales, las imágenes deben estar organizadas en orden decreciente con respecto al coeficiente de correlación.

Otra aproximación para representar el contenido imágenes de color es un histograma bidimensional de color. Un histograma bidimensional de color considera la relación entre un par de pixeles de color (no solamente la componente de iluminación). Un histograma de color bidimensional es un arreglo bidimensional. El tamaño de cada dimensión es el número de colores que fueron usados en la fase de cuantización del color. Estos arreglos son tratados como matrices, donde cada elemento almacena una cantidad normalizada de pares de pixeles, con cada color corresponde el índice de un elemento en cada vecindad del pixel. La comparación de histogramas bidimensionales de color es sujeta al cálculo de sus correlaciones, ya que por la construcción antes dicha, es un vector aleatorio (en otras palabras, un valor aleatorio de dimensión múltiple). Mientras se crea un conjunto de imágenes finales, las imágenes deben estar organizadas en orden decreciente con respecto al coeficiente de correlación.

El coeficiente de correlación puede también ser usado para la comparación de histogramas de color. Resultados de recuperación con coeficiente de correlación son mejores que usando otras métricas.

## Histograma de intensidad sobre datos continuos

La idea de un histograma de densidad puede ser generalizada datos continuos, dígase señal de audio representadas por funciones reales o imágenes representadas por funciones con dominio bidimensional..

Sea $f\in L^{1}(\mathbb {R} ^{n})$ (véase espacio de Lebesgue), entonces el operador del histograma cumulativo $H$ puede definirse como:

    $H(f)(y)=\mu \{x:f(x)\leq y\}$.

$H(f)$ a su vez es una función real. El histograma (no acumulativo) es definido como su derivada.

