Está en la página 1de 5

Instituto Politécnico Nacional

Unidad Profesional
Interdisciplinaria en Ingeniería y
Tecnologías Avanzadas

Práctica 5
“Procesamiento de Imágenes /
Histograma”

Alumno: Enrique Rojas Gómez

3TM2

Multimedia

Prof. Noé Sierra Romero


Introducción
Un histograma 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.

En esta práctica, analizaremos un programa en JAVA el cual calcula, a través de dos bibliotecas
importadas, tres histogramas, el cual muestran la saturación de colores de acuerdo al arreglo RGB.

Desarrollo
Para la implementación de esta práctica, requerimos de dos bibliotecas no nativas del lenguaje
jcommon-1.0.20 y jfreechart-1.0.15.
Tenemos un JFrame principal, el cual se compone de la siguiente manera

Además de este frame, creamos dos clases llamadas Histograma y DibujarGrafico; en la primera
clase tenemos dos métodos; el primer método tiene la finalidad de calcular la media de una variable
llamada Color. Esta función recibe como parámetro una variable ‘Color’ del cual se quiere obtener
la media; en tanto retorna un entero con el valor de la media.

El segundo método tiene como finalidad devolver el histograma de la imagen. Recibe como
parámetro una variable de tipo BufferedImagen de la cual se quiere obtener el histograma; devuelve
una variable int[5][256], donde el primer campo[0] corresponde al canal Rojo, [1]=verde [2]=azul
[3]=alfa [4]=escala grises.
El algoritmo sigue la siguiente estructura:

Se crea la variable que contendrá el histograma. El primer campo [0], almacenará el


histograma Rojo, [1]=verde [2]=azul [3]=alfa [4]=escala de grises.
Se recorre la imagen
Dentro del ciclo for:
o Obtenemos el color del píxel actual
o Sumamos una unidad en la fila roja [0], en la columna del color rojo obtenido, si
consta de este tono
o Sumamos así para cada uno de los tonos (azul, verde, negro, gris)

Al contrario de la primera clase, en la denominada DibujarGrafico, se compone de un solo método.

Llamado crearHistograma, tiene la finalidad el crear un gráfico de barras y lo asigna al JPanel


recibido. Recibe 3 parámetros; el primero es un histograma de frecuencias (int[256]), el segundo es
un JPanel donde el histograma será dibujado y el tercero es una variable color de cuál será dibujado
el histograma.

Este método sigue, a grandes rasgos, el siguiente algoritmo:

Se crea el dataSet y añadimos el histograma. Creamos


el chart
Modificamos el diseño del chart
En cuanto al formulario principal, al presionar el botón Dibujar histograma, esta sigue el
siguiente procedimiento:
Se lee la imagen
Establecemos la imagen como imagen en el jLabel
Se crea el histograma
Se dibuja el histograma
Dentro del ciclo, se extrae un canal del histograma y se dibuja en el panel

Ejemplo de estudio
Usaremos la siguiente imagen con formato BMP

Ilustración 1: La ruta de la imágen es C:\Users\chist\Dropbox\UPIITA\Trabajos\6to


Sem\Multimedia\Prácticas\Práctica 5\lagochungara.bmp

Lo cual arroja como resultado:

También podría gustarte