Histograma de color

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En el procesamiento de imágenes y la fotografía, un histograma de color es una representación de la distribución de colores en una imagen. Para imágenes digitales, un histograma de color representa la cantidad de píxeles que tienen colores en cada una de una lista fija de rangos de color, que abarca el espacio de color de la imagen, el conjunto de todos los colores posibles.

El histograma de color se puede crear para cualquier tipo de espacio de color, aunque el término se usa más a menudo para espacios tridimensionales como RGB o HSV. Para imágenes monocromáticas, se puede utilizar el término histograma de intensidad. Para imágenes multiespectrales, donde cada píxel está representado por un número arbitrario de medidas (por ejemplo, más allá de las tres medidas en RGB), el histograma de color es N-dimensional, siendo N el número de medidas tomadas. Cada medición tiene su propio rango de longitudes de onda del espectro luminoso, algunas de las cuales pueden estar fuera del espectro visible.

Si el conjunto de posibles valores de color es lo suficientemente pequeño, cada uno de esos colores puede colocarse en un rango por sí mismo; entonces el histograma es simplemente el recuento de píxeles que tienen cada color posible. En la mayoría de los casos, el espacio se divide en un número apropiado de rangos, a menudo dispuestos como una cuadrícula regular, y cada uno de ellos contiene muchos valores de color similares. El histograma de color también se puede representar y mostrar como una función suave definida sobre el espacio de color que se aproxima a los recuentos de píxeles.

Al igual que otros tipos de histogramas, el histograma de color es una estadística que puede verse como una aproximación de una distribución continua subyacente de valores de color.

Descripción general

Los histogramas de color son construcciones flexibles que se pueden construir a partir de imágenes en varios espacios de color, ya sea RGB, cromaticidad rg o cualquier otro espacio de color de cualquier dimensión. Primero se produce un histograma de una imagen discretizando los colores de la imagen en varios contenedores y contando el número de píxeles de la imagen en cada contenedor. Por ejemplo, se puede formar un histograma de cromaticidad rojo-azul normalizando primero los valores de píxeles de color dividiendo los valores RGB por R+G+B y luego cuantificando las coordenadas R y B normalizadas en N contenedores cada uno. Un histograma bidimensional de cromaticidad rojo-azul dividido en cuatro contenedores (N=4) podría producir un histograma similar a esta tabla:

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

Un histograma puede ser N-dimensional. Aunque es más difícil de mostrar, un histograma de color tridimensional para el ejemplo anterior podría considerarse como cuatro histogramas rojo-azul separados, donde cada uno de los cuatro histogramas contiene los valores rojo-azul para un contenedor de verde (0-63, 64 -127, 128-191 y 192-255).

El histograma proporciona un resumen compacto de la distribución de datos en una imagen. El histograma de color de una imagen es relativamente invariante con la traslación y la rotación alrededor del eje de visión, y varía sólo lentamente con el ángulo de visión. Al comparar las firmas del histograma de dos imágenes y hacer coincidir el contenido de color de una imagen con la otra, el histograma de color es particularmente adecuado para el problema de reconocer un objeto de posición y rotación desconocidas dentro de una escena. Es importante destacar que la traducción de una imagen RGB al espacio de cromaticidad rg invariante de iluminación permite que el histograma funcione bien en diferentes niveles de luz.

1. ¿Qué es un histograma?

Un histograma es una representación gráfica del número de píxeles de una imagen. De una manera más sencilla de explicar, un histograma es un gráfico de barras, cuyo eje X representa la escala tonal (negro a la izquierda y blanco a la derecha), y el eje Y representa el número de píxeles de una imagen en un determinado Área de la escala tonal. Por ejemplo, el gráfico de un histograma de luminancia muestra el número de píxeles para cada nivel de brillo (de negro a blanco), y cuando hay más píxeles, el pico en un determinado nivel de luminancia es mayor.

2. ¿Qué es un histograma de color?

Un histograma de color de una imagen representa la distribución de la composición de colores en la imagen. Muestra diferentes tipos de colores que aparecieron y el número de píxeles en cada tipo de colores que aparecieron. La relación entre un histograma de color y un histograma de luminancia es que un histograma de color también se puede expresar como "Tres histogramas de luminancia", cada uno de los cuales muestra la distribución de brillo de cada canal de color rojo/verde/azul individual.

Características de un histograma de color

Un histograma de color se centra únicamente en la proporción del número de diferentes tipos de colores, independientemente de la ubicación espacial de los colores. Los valores de un histograma de color provienen de estadísticas. Muestran la distribución estadística de los colores y el tono esencial de una imagen.

En general, como las distribuciones de color del primer plano y del fondo de una imagen son diferentes, puede haber una distribución bimodal en el histograma.

Solo para el histograma de luminancia, no existe un histograma perfecto y, en general, el histograma puede indicar si hay sobreexposición o no, pero hay ocasiones en las que se podría pensar que la imagen está sobreexpuesta al ver el histograma; sin embargo, en realidad no lo es.

Principios de la formación de un histograma de color

La formación de un histograma de color es bastante simple. A partir de la definición anterior, podemos simplemente contar el número de píxeles para cada 256 escalas en cada uno de los 3 canales RGB y trazarlos en 3 gráficos de barras individuales.

En general, un histograma de color se basa en un determinado espacio de color, como RGB o HSV. Cuando calculamos los píxeles de diferentes colores en una imagen, si el espacio de color es grande, primero podemos dividir el espacio de color en ciertos números de intervalos pequeños. Cada uno de los intervalos se llama contenedor. Este proceso se llama cuantificación de color. Luego, al contar el número de píxeles en cada uno de los contenedores, obtenemos el histograma de color de la imagen.

Los pasos concretos de los principios se pueden ver en el Ejemplo 1.

Ejemplos

Ejemplo 1

Dada la siguiente imagen de un gato (una versión original y una versión que se ha reducido a 256 colores para facilitar el histograma), los siguientes datos representan un histograma de color en el espacio de color RGB, utilizando cuatro contenedores.

Bin 0 corresponde a las intensidades 0-63

El contenedor 1 es 64-127

El contenedor 2 es 128-191 y el contenedor 3 es 192-255.

A picture a cat
Una imagen de un gato
Histograma de color de la imagen del gato anterior con eje x siendo RGB y eje y la frecuencia.
A picture of a cat that has been reduced to 256 colors
Una imagen de un gato reducido a 256 colores en el espacio de color RGB
RojoVerdeAzulPixel Conde
Bin 0Bin 0 Bin 0 7414
Bin 0 Bin 0 Bin 1230
Bin 0 Bin 0 Bin 20
Bin 0 Bin 0 Bin 30
Bin 0 Bin 1Bin 0 8
Bin 0 Bin 1Bin 1372
Bin 0 Bin 1Bin 288
Bin 0 Bin 1Bin 30
Bin 0 Bin 2Bin 0 0
Bin 0 Bin 2Bin 10
Bin 0 Bin 2Bin 210
Bin 0 Bin 2Bin 31
Bin 0 Bin 3Bin 0 0
Bin 0 Bin 3Bin 10
Bin 0 Bin 3Bin 20
Bin 0 Bin 3Bin 30
Bin 1Bin 0 Bin 0 891
Bin 1Bin 0 Bin 113
Bin 1Bin 0 Bin 20
Bin 1Bin 0 Bin 30
Bin 1Bin 1Bin 0 592
Bin 1Bin 1Bin 13462
Bin 1Bin 1Bin 2355
Bin 1Bin 1Bin 30
Bin 1Bin 2Bin 0 0
Bin 1Bin 2Bin 1101
Bin 1Bin 2Bin 2882
Bin 1Bin 2Bin 316
Bin 1Bin 3Bin 0 0
Bin 1Bin 3Bin 10
Bin 1Bin 3Bin 20
Bin 1Bin 3Bin 30
Bin 2Bin 0 Bin 0 1146
Bin 2Bin 0 Bin 10
Bin 2Bin 0 Bin 20
Bin 2Bin 0 Bin 30
Bin 2Bin 1Bin 0 2552
Bin 2Bin 1Bin 19040
Bin 2Bin 1Bin 247
Bin 2Bin 1Bin 30
Bin 2Bin 2Bin 0 0
Bin 2Bin 2Bin 18808
Bin 2Bin 2Bin 253110
Bin 2Bin 2Bin 311053
Bin 2Bin 3Bin 0 0
Bin 2Bin 3Bin 10
Bin 2Bin 3Bin 2170
Bin 2Bin 3Bin 317533
Bin 3Bin 0Bin 0 11
Bin 3Bin 0Bin 10
Bin 3Bin 0Bin 20
Bin 3Bin 0Bin 30
Bin 3Bin 1Bin 0 856
Bin 3Bin 1Bin 11376
Bin 3Bin 1Bin 20
Bin 3Bin 1Bin 30
Bin 3Bin 2Bin 0 0
Bin 3Bin 2Bin 13650
Bin 3Bin 2Bin 26260
Bin 3Bin 2Bin 3109
Bin 3Bin 3Bin 0 0
Bin 3Bin 3Bin 10
Bin 3Bin 3Bin 23415
Bin 3Bin 3Bin 353929

Ejemplo 2

Aplicación en cámara:

Hoy en día, algunas cámaras tienen la capacidad de mostrar los 3 histogramas de color cuando tomamos fotografías.

Podemos examinar clips (picos en el lado blanco o negro de la escala) en cada uno de los 3 histogramas de color RGB. Si encontramos uno o más recortes en un canal de los 3 canales RGB, entonces esto resultaría en una pérdida de detalle para ese color.

Para ilustrar esto, considere este ejemplo:

1. Sabemos que cada uno de los tres canales R, G, B tiene un rango de valores de 0 a 255 (8 bits). Consideremos entonces una fotografía que tiene un rango de luminancia de 0 a 255.

2. Supongamos que la foto que tomamos está hecha de 4 bloques adyacentes entre sí y configuramos la escala de luminancia para cada uno de los 4 bloques de la foto original en 10, 100, 205, 245. Por lo tanto, la imagen se parece a la figura superior. A la derecha.

3. Luego, sobreexponemos un poco la foto, digamos, la escala de luminancia de cada bloque aumenta en 10. Por lo tanto, la escala de luminancia para cada uno de los 4 bloques de la nueva foto es 20, 110, 215, 255. Entonces, la imagen se ve como la segunda figura de la derecha.

No hay mucha diferencia entre la figura 8 y la figura 9, todo lo que podemos ver es que toda la imagen se vuelve más brillante (el contraste para cada uno de los bloques sigue siendo el mismo).

4. Ahora, volvemos a sobreexponer la foto original, esta vez la escala de luminancia de cada bloque aumenta en 50. Así, la escala de luminancia para cada uno de los 4 bloques de la nueva foto es 60, 150, 255, 255. La nueva imagen ahora Se parece a la tercera figura de la derecha.

Tenga en cuenta que la escala para el último bloque es 255 en lugar de 295, ya que 255 es la escala superior y, por lo tanto, ¡el último bloque se ha recortado! Cuando esto sucede, perdemos el contraste de los 2 últimos bloques y, por tanto, no podemos recuperar la imagen por mucho que la ajustemos.

Para concluir, cuando tome fotografías con una cámara que muestra histogramas, mantenga siempre el tono más brillante de la imagen debajo de la escala más grande 255 en el histograma para evitar perder detalles.

Inconvenientes y otros enfoques

El principal inconveniente de los histogramas para la clasificación es que la representación depende del color del objeto que se estudia, ignorando su forma y textura. Los histogramas de color pueden ser potencialmente idénticos para dos imágenes con contenido de objeto diferente que comparte información de color. Por el contrario, sin información espacial o de forma, objetos similares de diferente color pueden ser indistinguibles basándose únicamente en comparaciones de histogramas de color. No hay forma de distinguir una taza roja y blanca de un plato rojo y blanco. Dicho de otra manera, los algoritmos basados en histogramas no tienen el concepto de una "taza" genérica, y un modelo de una taza roja y blanca no sirve de nada cuando se le da una taza azul y blanca idéntica. Otro problema es que los histogramas de color tienen una alta sensibilidad a interferencias ruidosas, como cambios en la intensidad de la iluminación y errores de cuantificación. Los histogramas de color de alta dimensionalidad (bins) también son otro problema. Algunos espacios de características de histogramas de color suelen ocupar más de cien dimensiones.

Algunas de las soluciones propuestas han sido la intersección de histogramas de color, la indexación constante de color, el histograma de color acumulativo, la distancia cuadrática y los correlogramas de color. Aunque existen desventajas en el uso de histogramas para indexación y clasificación, el uso del color en un sistema en tiempo real tiene varias ventajas. Una es que la información de color es más rápida de calcular en comparación con otras invariantes. En algunos casos se ha demostrado que el color puede ser un método eficaz para identificar objetos de ubicación y apariencia conocidas.

Investigaciones adicionales sobre la relación entre los datos del histograma de color y las propiedades físicas de los objetos en una imagen han demostrado que pueden representar no solo el color y la iluminación del objeto, sino también relacionarse con la rugosidad de la superficie y la geometría de la imagen y proporcionar una estimación mejorada de la iluminación y el objeto. color.

Por lo general, para calcular las calificaciones de similitud de imágenes se utilizan la distancia euclidiana, la intersección de histogramas o las distancias coseno o cuadráticas. Ninguno de estos valores no refleja la tasa de similitud de dos imágenes en sí mismo; solo es útil cuando se usa en comparación con otros valores similares. Esta es la razón por la que todas las implementaciones prácticas de recuperación de imágenes basadas en contenido deben completar el cálculo de todas las imágenes de la base de datos, y es la principal desventaja de estas implementaciones.

Otro enfoque para el contenido representativo de una imagen en color es el histograma de color bidimensional. Un histograma de color bidimensional considera la relación entre los colores del par de píxeles (no solo el componente de iluminación). Un histograma de color bidimensional es una matriz bidimensional. El tamaño de cada dimensión es el número de colores que se utilizaron en la fase de cuantificación de color. Estas matrices se tratan como matrices, cada elemento de las cuales almacena un recuento normalizado de pares de píxeles, y cada color corresponde al índice de un elemento en cada vecindad de píxeles. Para comparar histogramas de color bidimensionales, se recomienda calcular su correlación, porque construido como se describe anteriormente, es un vector aleatorio (en otras palabras, un valor aleatorio multidimensional). Al crear un conjunto de imágenes finales, las imágenes deben organizarse en orden decreciente del coeficiente de correlación.

El coeficiente de correlación también se puede utilizar para comparar histogramas de color. Los resultados de recuperación con coeficiente de correlación son mejores que con otras métricas.

Histograma de intensidad de datos continuos

La idea de un histograma de intensidad se puede generalizar a datos continuos, digamos señales de audio representadas por funciones reales o imágenes representadas por funciones con dominio bidimensional.

Vamos f▪ ▪ L1()Rn){displaystyle fin L^{1}(mathbb {R} {n})} (ver espacio Lebesgue), luego el operador de histograma acumulativo H{displaystyle H. puede definirse por:

H()f)()Sí.)=μ μ {}x:f()x)≤ ≤ Sí.}{displaystyle H(f)(y)=mu {x:f(x)leq y}.

μ μ {displaystyle mu } es la medida Lebesgue de conjuntos. H()f){displaystyle H(f)} a su vez es una función real. El histograma (no acumulativo) se define como su derivado.

h()f)=H()f).{displaystyle h(f)=H(f)}.

Contenido relacionado

Birrefringencia

Birefringencia es la propiedad óptica de un material que tiene un índice de refracción que depende de la polarización y dirección de propagación de la...

Servidor de nombres raíz

Un servidor de nombres raíz es un servidor de nombres para la zona raíz del Sistema de nombres de dominio de Internet. Responde directamente a las...

Año común a partir del lunes

Un año común que comienza el lunes es cualquier año no bisiesto que comienza el lunes 1 de enero y finaliza el lunes 31 de diciembre. Su letra dominical...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save