You are on page 1of 7

Histograma

Histograma: Definicin
y El histograma de una imagen f es una grfica que representa los
niveles de intensidad del color de f con respecto al nmero de
pxeles presentes en f con cada intensidad de color

Definicin formal
y Una imagen de dimensin N x M se define como

f: N x M Q x Q
donde Q = {0, , q-1} para una imagen con q niveles de
cuantizacin
y Un histograma hf de una imagen f se define como:

hf: Q NxM

Propiedades del Histograma


y La imagen f no se puede deducir a partir de hf
y Dos imgenes diferentes pueden tener asociado el mismo
histograma
y Los histogramas no contienen informacin espacial sobre
la imagen

Histograma Normalizado
y Para evitar que los valores de un histograma sean muy dispares, se
puede normalizar dicho histograma

Hf(r) = hf(r) / size


donde size = NxM

Histogramas en Matlab
y Para visualizar el histograma de una imagen, se usa:
I = imread('imagen1.bmp');
[nk, rk] = imhist(I);
bar(rk, nk, 1);

Histogramas en Matlab
y Para visualizar el histograma normalizado, se usa:
I = imread('imagen1.bmp');
[nk, rk] = imhist(I);
size = sum(nk(:,1));
nk1 = nk / size;
bar(rk, nk1, 1);

Histogramas en Matlab
y Operaciones comunes con imgenes:
y Nmero de pxeles que tiene el nivel de imagen x: nk(x,1),
donde nk es el vector de frecuencias que reporta imhist
y Numero total de pxeles en la imagen: sum(nk(:,1)), donde
nk es la frecuencia de cada valor de pxel en la imagen

Ecualizacin de un Histograma
y Mtodo que se utiliza para lograr una distribucin ms uniforme
entre el nmero de pxeles asociado a cada nivel de intensidad
y Para ecualizar un histograma, se utiliza la siguiente frmula:

1 k
mk =
nj
size j =1
k toma valores en el intervalo [0 q-1]
y Basados en la ecuacin anterior, el nivel de intensidad rk se sustituye
por:
y Sk = mk * q (q es el nmero de intensidades asociado a la imgen)

Ecualizacin de un Histograma

y Cmo quedara un cdigo en matlab que ecualice el histograma de


una figura?

Ecualizacin de un Histograma
I = imread('imagen1.bmp');
nk1 = imhist(I);
rk1 = nk1./numel(I);
suma = cumsum(rk1);
rk2 = suma.*256;
bar(rk2, nk1, 1);

Ecualizacin de una Imagen


y En matlab, tambin se puede ecualizar una imagen utilizando la
instruccin histeq

Aplicaciones del Histograma


y A travs de un histograma, se pueden realizar diferentes tareas como
la segmentacin

Solo se extrae esta zona


de inters

Anlisis para la Segmentacin


y Cmo extraer la zona de inters del resto de la imagen
utilizando exclusivamente la informacin que ofrece la
imagen?
y Actividad: disear un mtodo que permita la
segmentacin de las clulas a partir de las imgenes de
ejemplo que se proponen, utilizando para ello
exclusivamente el histograma de una imagen
y Marcar un color predefinido aquellos pxeles que no
pertenecen a una clula y para aquellos que pertenezcan a
una clula, dejar el valor del pxel intacto.

You might also like