CAPITULO 3 - Histogramas
CAPITULO 3 - Histogramas
CAPITULO 3 - Histogramas
HISTOGRAMAS
Alumnos:
Castillo Soto Jade Nicole
Manrique Vilchez, David Alexander
Pezo murrieta orison
Docente:
Ing. Tonny Eduardo
Curso:
Procesamiento de Imágenes
Nivel:
III
Ciclo:
VI
Iquitos - Perú
2024
ÍNDICE
1. HISTOGRAMAS .................................................................................................................... 3
2
1. HISTOGRAMAS
Los Histogramas pueden ser considerados como medidas estadísticas de la imagen
y normalmente son usados como medio de ayuda para evaluar propiedades
importantes de una imagen. Especialmente son los errores producidos en la toma de
imagen los que son fácilmente reconocidos mediante la utilización de histograma.
Aparte de poder tratar con los problemas anteriormente mencionados es posible
también preprocesar la imagen tomando como base el histograma para mejorarla o
bien para resaltar características de ella que serán o bien extraídas o analizadas en
fase de procesamiento posterior (considerando posteriormente un sistema de
reconocimiento de patrones en la imagen, por ejemplo).
3
Figura 1. El vector de un histograma con 16 posibles valores de intensidad. El índice de los
elementos del vector 𝑖 = 0 . . .15 representa el valor de intensidad. El valor de 9 en el elemento
2 significa que en la correspondiente imagen el valor de intensidad 2 aparece 9 veces.
1.2.1. Iluminación
Los errores de la iluminación son reconocidos en el histograma porque
la región final o inicial de la escala de intensidad no es utilizada,
mientras que en la otras regiones del histograma son ocupados por
valores de intensidad de píxeles. La figura 3 muestra un ejemplo de
imágenes con diferentes tipos de iluminación.
4
Figura 3. Las figuras muestran cómo los errores de la iluminación son fácilmente
detectables por el histograma: (a) Imagen con correcta iluminación, (b) con alta
iluminación y (c) con baja iluminación.
1.2.2. Contraste
Como contraste se entiende el campo de valores de intensidad que en
una imagen son utilizados, en pocas palabras la diferencia entre el
máximo y mínimo valor de intensidad de los píxeles presentes en la
imagen. Una imagen con un contraste completo utiliza el intervalo
completo de niveles de intensidad definidos para la imagen
𝑎 = 𝑎𝑚𝑖𝑛 . . . 𝑎𝑚𝑎𝑥 = 0. . . 𝑘 − 1 (de negros a blanco). Por ello es sencillo
observar el contraste de una imagen utilizando para ello un histograma.
La figura 4 muestra diferentes configuraciones de contraste en
imágenes y el histograma producido.
5
Figura 4. Las figuras muestran diferentes contrastes en imágenes y sus respectivos
efectos en el histograma: (a) bajo contraste y (b) contraste normal.
1.2.3. Dinámica
Bajo el término de dinámica se entiende el número de píxeles
diferentes que son utilizados en la imagen. El caso ideal para un
imagen resulta cuando es utilizado en el rango completo de valores de
intensidad disponibles 𝑘 para la imagen en cuestión, en este caso la
región de valores está cubierta completamente. Una imagen que cubra
una región de valores de intensidad 𝑎 = 𝑎𝑚𝑖𝑛 . . . 𝑎𝑚𝑎𝑥 más pequeña que
la completa con:
6
Figura 5. Diferentes dinámicas en una imagen y sus efectos en el histograma: (a) alta
dinámica, (b) baja dinámica con 64 niveles de intensidad y (c) muy baja dinámica con
solo 8 niveles de intensidad.
[counts, x] = imhist(I, n)
7
Si n es especificada, el histograma es calculado y desplegado
utilizando n valores en lugar de los especificados por el tipo de imagen.
La variable counts es un vector que recibe el número de píxeles
pertenecientes al valor de intensidad especificado por x. Relacionando
estas dos variables mediante stem(x, counts) podríamos encontrar
de nueva cuenta el histograma.
8
Figura 7. Muestra la ventana de configuración del bloque “2-D Histogram” de la
librería de procesamiento de imágenes y vídeo de Simulink.
9
Figura 8. Bloque “Draw Markers” de la librería de procesamiento de imagen y vídeo
de Simulink. Por defecto el bloque está configurado para añadir a la imagen círculos
definidos en las posiciones Pts.
10
Este bloque permite añadir al algoritmo de procesamiento una matriz o
imagen constante definida previamente desde la consola de comandos
de MATLAB. La figura 10 muestra el bloque como es representado en
Simulink.
Figura 10. Bloque de Simulink para añadir una matriz o imagen al algoritmo de
procesamiento de imagen. El bloque por defecto inicializa con una imagen
predefinida tal y como se muestra.
11
Figura 11. Bloque “From Video Device” parte de la librería del Toolbox de Adquisición
de Imágenes. Permite capturar imágenes desde un dispositivo de vídeo compatible
con Windows ®, tal como WebCam. Como puede verse en la figura entre paréntesis
se señala el nombre de la WebCam que en ese momento se encuentra conectada
para ser utilizada.
12
La imagen capturada por la WebCam a través de “From Video Device”
es convertida a imagen a escala de grises y posteriormente se calcula
su histograma utilizando el bloque “2-D Histogram”.
13
Programa 1. Ejemplo de función que determina el valor del píxel máximo y mínimo.
Figura 13. (a) El bloque de función de MATLAB definida por el usuario para el trabajo
en Simulink y (b) su ventanilla de configuración.
14
variaciones del histograma, mientras que el número de columnas es
siempre de 256.
Figura 15. (a) Imagen a color, (b) su versión en escala de grises (imagen de
luminosidad) y (c) el correspondiente histograma de (b).
15
1.4.2. Histograma de componentes de color
Aunque el histograma de luminosidad considera todos los
componentes de color es posible que no puedan considerarse errores
presesentes en la imagen. Por ejemplo, es posible que el histograma
de luminosidad parezca adecuado a pesar de que alguno de los planos
de color tenga algún error. en las imágenes RGB el plano azul
normalmente aporta muy poco a la luminosidad total de la imagen a
escala de grises a partir de la imagen de color. La figura 16 muestra el
histograma de luminosidad ℎ𝐿𝑢𝑚 y los histogramas de cada no de los
diferentes planos de color ℎ𝑅 , ℎ𝐺 𝑦 ℎ𝐵 para una imagen RGB típica.
Figura 16. Histogramas de los componentes de una imagen a color: (a) Imagen
original RGB, (b) histograma del plano R, (c) histograma del plano B y (d) el
histograma del plano (d).
El valor de 𝐻(𝑖) es entonces la suma de todos los valores abajo del valor
especificado 𝑖 del histograma “normal” ℎ(𝑗) con los valores 𝑗 = 0. . . 𝑖, o bien, el
obtenido considerando el valor inmediato anterior:
16
𝐻(𝑖) = { ℎ(0) 𝑝𝑎𝑟𝑎 𝑖 = 0; 𝐻(𝑖 − 𝐼) + ℎ(𝑖) 𝑝𝑎𝑟𝑎 0 ≤ 𝑖 < 𝐾
Ecuación 2
𝐾−1
Figura 17. (a) Imagen original, (b) histograma de (a) y (c) el histograma acumulativo
de (a).
17
Programa 2. Muestra el programa MATLAB para calcular y desplegar el histograma
acumulativo.
18
Programa 3. Función que permite calcular el histograma acumulativo y empaquetar
los datos calculados por el bloque “2-D Histogram” para generar los puntos que el
bloque “Draw Markers” gratificará.
19
Figura 18. Muestra el resultado de ejecutar el programa en Simulink descrito en la
figura 12, pero utilizando la función definida en el programa 3 para el cálculo y
despliegue del histograma acumulativo.
20