La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La...

35
2.1 Histograma de una imagen digital 2.2. Operadores funcionales elementales: negativo, corrección gamma, logaritmo parametrizado, corrección de rango dinámico 2.3. Operaciones puntuales de corrimiento: contraste porcentual y por canal 2.4. Operadores adicionales: sigmoides, senoidal, tangente hiperbólica 2.5. Binarización a la media, umbralización controlada y ecualización

Transcript of La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La...

Page 1: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

2.1 Histograma de una imagen digital 2.2. Operadores funcionales elementales: negativo, corrección gamma, logaritmo parametrizado, corrección

de rango dinámico 2.3. Operaciones puntuales de corrimiento: contraste porcentual y por canal 2.4. Operadores adicionales: sigmoides, senoidal, tangente hiperbólica2.5. Binarización a la media, umbralización controlada y ecualización

Page 2: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Vamos a usar la pequeña imagen que representa la Figura 2 para comprender qué es un histograma.

Se trata de una imagen en niveles de gris muy simple, de 8x8 píxeles de tamaño (se han señalado los límites

entre píxeles para facilitar su identificación). Sólo son posibles 4 niveles de gris, porque se van a usar 2 bits

para codificar el brillo de cada píxel. De la forma habitual, los niveles de gris se numeran del 0 al 3,

correspondiendo un brillo mayor a los valores más altos. La tabla siguiente resume esto:

Histograma de una imagen digital

Page 3: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

La gráfica que aparece en la Figura 3 es el histograma correspondiente a esta imagen.

Page 4: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Los números que aparecen el eje horizontal representan los niveles de gris que pueden aparecer en la imagen: a laizquierda está el valor más oscuro (negro) y en el extremo derecho el más claro (blanco). El resto de niveles se distribuyenuniformemente. Se ha puesto una escala con los tonos de gris correspondientes para facilitar la comprensión. En unhistograma real habitualmente no encontrará numerado el eje vertical, ni la escala de tonos para el eje horizontal. Laaltura de cada barra representa el número de píxeles de la imagen que presentan ese nivel de gris concreto. Se puedededucir entonces que la imagen tiene 15 píxeles completamente negros (con nivel 0), 11 de tono gris oscuro (nivel 1) y 38píxeles completamente blancos (nivel 3). No hay ningún píxel en la imagen con un nivel de gris 2.

Page 5: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

¿Cuánto deberán sumar las alturas de todas las barras? Efectivamente, 64, que es el número total de píxeles que tiene laimagen. Como ve, con sólo mirar el histograma podemos deducir algunas cosas interesantes sobre la imagen, lo quedemuestra su utilidad: La mayor parte de los píxeles son blancos, así que probablemente se aprecie un fondo blancouniforme. Hay un número significativo de píxeles totalmente blancos y totalmente negros, por lo que presentará unaspecto bien contrastado.

Page 6: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

El histograma de canales de color En todos los histogramas que han aparecido hasta ahora el eje horizontal representa el valor de brillo de los píxeles.Para imágenes en color es posible realizar un análisis más detallado, considerando que están formadas por lacomposición de tres canales de color RGB (componentes roja, verde y azul):

Page 7: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Para las imágenes en color es posible obtener el histograma de canales de color, que cabe entenderlo como lasuperposición de 3 histogramas distintos, los que corresponden a cada uno de los canales que forman la imagen. En Gimpse accede a este histograma seleccionando la opción “RGB”, tal como se señala en la Figura 11:

Page 8: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

También es posible obtener el histograma de cada uno de estos canales por separado:

Page 9: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Histograma y visión por computador

El histograma resulta una herramienta de gran interés también en tareas de análisis automático de imágenes, comolas que se llevan a cabo en el área de la visión por computador. La Figura 12 muestra un ejemplo típico. Para unaaplicación de inspección automática, se trata de determinar los píxeles de la imagen que corresponden a laherramienta, que se sabe depositada sobre un fondo de color más claro, bastante uniforme. La clave está enencontrar un nivel de gris o umbral, tal que todos los píxeles más oscuros (a su izquierda en el histograma)correspondan a la herramienta y los más claros al fondo. Este nivel podría determinarse a partir del análisis delhistograma.

La figura muestra un típico histograma bimodal, donde hay dos grandes agrupaciones de niveles que aparecen concierta frecuencia en la imagen, una correspondiente al objeto oscuro y otra debida al fondo claro. Una vezdeterminadas estas dos agrupaciones, el nivel de gris equidistante entre ambas, resultaría un nivel de umbraladecuado.

Page 10: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 11: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

En la siguiente figura se señalan con color rojo todos los píxeles que se consideran pertenecientes a la herramienta por ser más oscuros que el nivel de umbral.

Page 12: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 13: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 14: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Application of Mask

Page 15: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 16: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 17: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 18: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Ecualización de histogramasLa ecualización de histograma busca obtener una distribución uniforme de los distintos niveles de intensidad, esta técnica es muy utilizada para mejorar el contraste de las imágenes.

Para aplicar la ecualización de histograma OpenCV nos provee la funciónsolo debemos pasarle la imagen de estrada, la función nos retorna la imagen ecualizada.

Page 19: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Podemos observar que la imagen está bastante clara, tiene mucho brillo, si vemos el histograma podremos ver

que la mayoría de los pixeles son blancos, en la siguiente imagen vemos el caso contrario, la imagen tiene poca luz, está oscura.

Page 20: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Ahora la mayor concentración de pixeles está en el nivel de intensidad cercano a 0 es decir el color negro.

Usando la ecualización de histogramas podemos mejorar ambas imágenes, veamos el código:

Page 21: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Obtenemos el siguiente resultado:

De momento terminamos este tutorial de visión por computador con OpenCV y el lenguaje Python, todavía hay

muchas que aprender sobre los histogramas, esperamos en el futuro poder profundizar en el tema, hasta lapróxima.

Page 22: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

• Negativo, Corrección gamma, Logaritmo parametrizado,Corrección de rango dinámico

Operadores funcionales elementales:

Page 23: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

OpenCV Gamma Correction

Gamma correction is also known as the Power Law Transform. First, our image pixel intensities must be

scaled from the range [0, 255] to [0, 1.0]. From there, we obtain our output gamma corrected image by

applying the following equation:

O = I ^ (1 / G)

Where I is our input image and G is our gamma value. The output image O is then scaled back to the

range [0, 255].

Gamma values < 1 will shift the image towards the darker end of the spectrum while gamma values >

1 will make the image appear lighter. A gamma value of G=1 will have no affect on the input image

Gamma es una característica importante, pero rara vez entendida de prácticamente todos los sistemas

de imágenes digitales. Se define la relación entre el valor numérico de un pixel y su luminancia

real. Sin gamma, sombras capturadas por las cámaras digitales no aparecerían como lo hicieron a

nuestros ojos (en un monitor estándar). Es también conocida como la corrección de gamma, la

codificación gamma o rayos gamma de compresión, pero todas ellas se refieren a un concepto

similar. Entender cómo funciona la gamma pueden mejorar la técnica de uno de la exposición, ademásde ayudar a uno hacer la mayor parte de la edición de imágenes.

Page 24: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 25: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 26: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 27: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 28: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 29: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que
Page 30: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Logaritmo parametrizado

Page 31: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

corrección de rango dinámico

Page 32: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Operaciones puntuales de corrimiento

• Contraste porcentual

• Por canal

Page 33: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Operadores adicionales:• Sigmoides

• Senoidal

• Tangente hiperbólica

Page 34: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

• Binarización a la media

• Umbralización controlada

• Ecualización

Page 35: La gráfica que aparece en la Figura 3 es el histograma ...hilario_sm/slide/PDI/unidad II.pdf · La tabla siguiente resume esto: Histograma de una imagen digital . La gráfica que

Bibliografía

• https://riunet.upv.es/bitstream/handle/10251/12711/El%20histograma%20una%20imagen%20digital.pdf?sequence=1

• https://docs.opencv.org/3.1.0/d1/db7/tutorial_py_histogram_begins.html

• http://acodigo.blogspot.com/2017/08/histogramas-opencv-python.html

• https://sites.google.com/site/todofotografiadigital/home/tutoriales-de-fotografia-digital/entender-la-correccion-gamma

• https://www.pyimagesearch.com/2015/10/05/opencv-gamma-correction/