You are on page 1of 19

CENTRO UNIVERSITARIO DE CIENCIAS

EXACTAS E INGENIERIAS
UNIVERSIDAD DE GUADALAJARA

Reporte proyecto final


Probabilidad y procesos estocsticos
Sotero Ordoes Nogales
Jaime Ricardo Gonzlez Romero
Programa: Maestra en Ciencias en Ingeniera Electrnica y
Computacin
Profesor: Guillermo Obregn Pulido
3 de noviembre de 2014

ndice
1. Introduccin

2. Ecualizacin del histograma de una imagen

3.

Especificacin del histograma de una imagen (A) con respecto a otra


imagen (B)

4. Conclusiones

1.

9
17

Introduccin

En el presente reporte se aborda el problema de ecualizar la intensidad de dos


imgenes digitales mediante la manipulacin de su funcin de densidad. Antes
hablar sobre sto es necesario mencionar los conceptos utilizados en las secciones
posteriores.
Una imagen es una funcin f (x, y) que al evaluar en los puntos x, y nos indica
el nivel o intensidad de gris de esas coordenadas.1 Por razones comprensibles las
imgenes que se utilizan en las computadoras son llamadas imgenes digitales debido a que contiene un conjunto finito de valores discretos para la funcin f (x, y),
es decir
Imgx,y = f (x, y) = ik

1xm

1yn

(1)

donde ik indica la intensidad de la coordenada x, y y para m, n < .


Como el lector habr notado en (1) el valor ik es conocido como pixel, es
decir, los valores de intensidad de una imagen en las coordenadas x, y es conocido
como el pixel de las coordenadas x, y; es la intensidad en un punto que compone
la imagen. Por lo tanto, una imagen es una matriz de m n y cada elemento es
un pixel.

img1,1
..
Img = .
imgn,1
1

Las imgenes tratadas son de tipo escala de grises.

img1,m
..
.

imgn,m

(2)

A travs de la formulacin anterior podemos tratar una imagen como un proceso aleatorio. Una imagen cumple con ser un proceso homogneo dado que cada
pixel en la imagen Img(x, y) es el resultado de un experimento aleatorio donde
su variable aleatoria i est dada por la intensidad en la escala de grises [3]. As,
la frecuencia de los valores de intensidad se le conoce como histograma. En palabras de Zanuy [7], El histograma de una imagen es la representacin del nmero
de pixels que posee un determinado nivel de gris, para todos los niveles de gris
posibles de la imagen. Lo cual se puede resumir como sigue
F (x) = count(Img, x)

x K

(3)

donde K es el conjunto de valores de la escala de grises (todos los valores enteros


en el intervalo [0, 255]) y la funcin count indica la frecuencia que aparece el
valor x en Img.
De manera anloga se determina el histograma acumulado o funcin de densidad, como menciona Alvarado et al. [1] un histograma de densidad representa
el comportamiento de las frecuencias de los valores de cierta variable. En el presente documento se trabaja con histogramas de densidad acumulada relativa en el
intervalo conveniente. El histograma acumulado de (3) se calcula como sigue
f (xk ) = F (xk ) + f (xk1 )

k = 0, ..., 255

(4)

donde f (xk ) indica la probabilidad acumulada de x en el intervalo [0, k].


Cuando hablamos de ecualizar un histograma nos referimos a cambiar mediante operaciones con los pixeles la imagen de tal forma su histograma se muestre distribuido de la mejor forma dentro de la escala de grises de la imagen. Como
menciona Cuevas et al. [3], debido a que estos histogramas son distribuciones discretas slo es posible hacer la distribucin uniforme de forma aproximada. Por
lo tanto, no es posible producir un histograma uniformemente distribuido a partir
de un histograma de una imagen real. Este problema es abordado en la siguiente
seccin.
Por otro lado, cuando se transforma un histograma del tal manera que se corresponda con otro histograma, decimos que se hizo la adaptacin del histograma
por especificacin; la imagen se transforma de tal forma que su histograma se
parezca a una distribucin o histograma especfico [3]. Cabe mencionar que por
utilizar el histograma acumulado nos da independencia de los tamaos de las dos
imgenes. Este proceso es tratado en la seccin 3.
Finalmente en la cuarta seccin se indican las conclusiones.
2

2.

Ecualizacin del histograma de una imagen

La ecualizacin de un histograma consiste en encontrar una transformacin


con la cual el histograma tenga una distribucin uniforme; transformarlo en un
histograma ideal.
Sea i la variable aleatoria que representa la escala de grises de la imagen,
asumiendo que el histograma se encuentra normalizado en el intervalo [0, 1], fcilmente podemos ver que ik = 0 representa el color negro e ik = 1 representa el
tono blanco. Por lo tanto, para cualquier valor de i que satisfaga esas condiciones
tenemos que la transformacin buscada est determinada por
i = T (i)

0i1

(5)

y entonces decimos que la trasformada T (i) produce un nivel de gris i para cada
uno de los pixeles i. Sin embargo, la transformada T (i) debe de cumplir necesariamente con dos criterios para no obtener resultados errneos. 1) T (r) debe de
ser monticamente creciente, es decir que su pendiente no puede ser negativa en
ningn instante y 2) T (r) debe de tener inversa y sta debe de cumplir con el criterio 1, para ello se debe de suponer que i e i son variables aleatorias continuas y
que sus funciones de densidad de probabilidad son P (i) y P (i ) respectivamente.
La ley de la conservacin de a probabilidad indica que
Z 1
Pi (i)di = 1
(6)
0

esto implica que


Z

Pi (i)di =
0

Pi (i )di

(7)

as decimos que
Pi (i )d(i ) = Pi (i)di|i=T 1 (i )=1

(8)

entonces decimos que


Pi (i ) = Pi (i)

di
|i=T 1 (i )=1
di

(9)

por lo tanto tenemos


1
di
=

di
Pi (i)

(10)

di = Pi (i)di

(11)

lo anterior implica que

y entonces encontramos la transformada buscada como

i = T (i) =

Pi (w)dw

(12)

En (12) podemos observar que la nueva intensidad para el pixel ik depende de


la probabilidad de ese pixel ik en la funcin de densidad de probabilidad.
Para resolver la distribucin uniforme de una imagen, en primer lugar, se escribi una subrutina en Matlab que calcule el histograma de la imagen en base
a (3), La siguiente funcin llamada histograma(A,m,n) permite calcular la
frecuencia en que se presentan cada uno de los niveles de la escala de grises [0255]. Si observamos detenidamente la funcin anterior decimos que en el arreglo
unidimensional frecuencia se encuentran los contadores para cada uno de los
niveles tener un pixel. En la lnea 6 (Cdigo 1) utilizamos los valores de la matriz
A (que es la imagen) como ndice para el arreglo de contadores. Por conveniencia
decimos que (3) se expresa como
ck = ck + 1

Ai,j = k

(13)

donde 1 i m y 1 j n. Como es claro la funcin en cuestin correponde


a (13).
Cdigo 1: Funcin histograma.
1
2

function frecuencia=histograma(A,m,n)
contador = zeros(256,1);

for i=1:m
for j=1:n
contador(A(i,j)+1) = contador(A(i,j)+1) + 1;
end
end

4
5
6
7
8
9

end

Despus de calcular el histograma o funcin de distribucin, se calcula la funcin de densidad, para ello se escribi el siguiente cdigo en base en (4) como
sigue, La funcin getDensidadFuncion(x,m,n,npixel) de donde destacamos la lnea 7 (Cdigo 2) que corresponde a (4), los arreglos densidad y
x representan f (x) y F (x) respectivamente. El resto de los argumentos de entrada m,n,npixel corresponden a las dimensiones de la imagen y el nmero de
4

escalas de grises. Cabe mencionar, que esta funcin calcula f (x) normalizada al
rango de los pixeles. Nota: se debe tener presente los ndices de los arreglos en
Matlab y los valores de la escala de grises para evitar confusiones.
Cdigo 2: Funcin getDensidadFuncion.
1
2
3
4
5
6
7
8
9

function densidad = getDensidadFuncion(x,m,n,npixel)


densidad = zeros(npixel,1);
x = x/(m*n);
x = x.*255;
densidad(1) = x(1);
for i=2:npixel
densidad(i) = densidad(i-1) + x(i);
end
end

Posteriormente, con el histograma acumulado f (i) calculamos los pixeles i


mediante (12), para ello se utiliza un mtodo de bsqueda. La subrutina es nombrada getImgCambioDensidad(A,densidadA) la cual intercambia los valores de los pixeles de la imagen por el correspondiente valor del pixel de la funcin de densidad f (i), esto es
Ai,j = f (ik )

donde k = Ai,j

(14)

es claro que en (14) corresponde a la lnea 7. La nueva imagen creada img corresponde a los pixeles de la imagen argumento A en funcin de la funcin de densidad
densidadA, como se mostr en la imgenes de las secciones anteriores.
Cdigo 3: Funcin getImgCambioDensidad.
1
2
3
4
5
6
7
8
9

function img = getImgCambioDensidad(A,densidadA)


[m,n] = size(A);
img = zeros(m,n);
for i=1:m
for j=1:n
img(i,j) = densidadA(A(i,j)+1);
end
end
end

A manera de prctica se considera fotografa de la Figura 1 por su histograma


(Figura 1(a)) vemos que la frecuencia de tonos bajos (obscuros) es ms alta, lo
5

cual est confirmado dado que su funcin de densidad de probabilidad (Figura


1(b)) tiene su mayor aceleracin antes de los valores centrales de la escala de
grises.
9000

250

8000
200

6000
P(i)

Frecuencia

7000

5000

150

4000
100
3000
2000

50

1000
0

50

100
150
Escala de grises

200

250

(a) Histograma

50

100
150
Escala de grises (i)

200

250

(b) Histograma Acumulado

(c) Imagen

Figura 1: La imagen de prueba cargada hacia los tonos ms oscuros.


Despus de ejecutar el algoritmo descrito en la presente seccin se obtuvo la
imagen de la Figura 2 en donde podemos destacar que la distribucin del contraste es uniforme. Si analizamos la funcin de distribucin (Figura 2(a)) podemos
observa que existen valores de la escala de grises i que no aparecen es decir su
frecuencia es 0. Esto se debe a que estos valores no tienen su correspondiente de
la funcin de densidad de probabilidad de la imagen al principio (Figura 1(a)). Por
lo tanto el histograma acumulado de la imagen procesada tiene segmentos donde
no crece; se observan como escalones (Figura 2(b)), como se esperaba.
Para realizar el procedimiento se utiliz la primera parte del script main que
se presenta a continuacin se explican los procedimiento principales de la primera
parte del script main (Cdigo 4).2 Destacamos que en lnea 11 y 13 se calcula el
2

El cdigo trivial se deja al lector si es que existe alguno.

10000

250

9000
8000

200

6000

P(T(i))

Frecuencia

7000

5000
4000

150

100

3000
2000

50

1000
0

50

100
150
Escala de grises

200

250

(a) Histograma

50

100
150
Escala de grises T(i)

200

250

(b) Histograma Acumulado

(c) Imagen

Figura 2: Imagen despus de ecualizar el histograma.

histograma y el histograma acumulado respectivamente para la primera imagen.


Posteriormente en la lnea 16 se aplica la funcin de densidad de la imagen para
normalizar la probabilidad de cada uno de los valores de la escala de grises, a fin
que cada uno de ellos tenga la misma probabilidad de aparecer en la imagen. Ms
adelante, en las lneas 20 y 22 se calculan de nuevo los valores del histograma y
del histograma acumulado despus de normalizar la probabilidad de la escala de
la funcin de densidad de la imagen.
Cdigo 4: Script main primera parte.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

%============== PRIMERA PARTE ================


close all;
clear();
clc();
% cargar la imagen de prueba y convertirla a escala de
% grises
ImgA
= loadImg(imgPrueba.jpg);
[m,n] = size(ImgA);
pixels = 0:1:255; %los valores de la escala de grises
%crear el histograma de la funcion de prueba
HistImgA = histograma(ImgA,m,n);
%normalizar el histograma de la imagen de prueba
DensImgA = getDensidadFuncion(HistImgA,m,n,length(pixels));
% cambiar los valores de los pixeles de acuerdo la densidad
% de la misma imagen.
imgB = getImgCambioDensidad(ImgA,HistImgA);
imgB = uint8(imgB);
imgB = double(imgB);
%calcular el histograma de la funcion normalizada
HistImgB = histograma(imgB,m,n);
%calcular la funcion de densidad de la imagen normalizada
DensImgB = getDensidadFuncion(HistImgB,m,n,length(pixels));

Al finalizar el procedimiento de ecualizacin de la imagen nos damos cuenta que presenta un aclarado bastante notorio, pero que sin embargo, debido a los
pixeles que presentan una probabilidad=0 la imagen parece haber perdido la suavidad en el cambio de tonos.
8

3.

Especificacin del histograma de una imagen (A)


con respecto a otra imagen (B)

El objetivo de ajustar un histograma por especificacin aplicado a imgenes


fotogrficas, consiste en transformar la imagen objetivo (imagen B) de tal forma
que parezca que fue tomada en las mismas condiciones de luminosidad que la
imagen fuente (imagen A); que luzcan iguales. Esto se ve reflejado al comparar
las funciones de distribucin3 de las imgenes tal que stas deben ser iguales en
la medida de lo posible.
Anteriormente se determin una operacin de pixel para hacer una distribucin
uniforme de la escala de grises de una imagen; as se aclar la imagen en cuestin. Ahora definimos una funcin g que al transformar los pixeles de la imagen
objetivo y computemos de nuevo su histograma ste sea semejante a la funcin de
distribucin de la imagen A. Es decir
ImgC(x, y) = i = g(ImgB(x, y))

(15)

donde ik es el pixel transformado y g(i) es una funcin tal que


F (g(ImgB)) F (ImgA)

(16)

por cuestiones de claridad decimos que FA (i) = F (imgA) y FB (w) = F (ImgB)


son funciones de distribucin de la probabilidad de las imgenes fuente y objetivo
respectivamente. Formalmente podemos reescribir (16) en trminos de la funcin
buscada
FB (g(i)) FA (i)

(17)

expresando con palabras (17), operando el pixel ik de la imagen fuente generamos


un pixel (ik ) para la imagen procesada (imagen C) tal que las funciones de distribucin de ambas imgenes sean semejantes; esa funcin de transformacin es
g(i). Por lo tanto la g(i) se puede determinar a partir de una combinacin de las
funciones de distribucin FA (i) y FB (w) retomando (15) y considerando FA1 (i)
como la funcin inversa de FA (i), entonces
i = FA1 [FB (w)]
y por lo tanto la funcin g queda defina por
3

La funcin de distribucin que es equivalente al histograma de la imagen

(18)

g(i) = FA1 [FB (w)]

para

1wN

(19)

donde N es el nmero de pixeles de la imagen (N = m n). Como se observa


en (19) la funcin FA debe de ser invertible.
Para este caso la funcin de distribucin de referencia es el histograma de la
imagen A, por lo que si aplicamos (17) entonces calculamos la funcin g que nos
permite transformar la imagen B de tal forma que su funcin de distribucin sea
semejante al histograma de referencia. Para ello la suma de la frecuencia de todos
los valores de escala sea igual al nmero de pixeles tiene la imagen,
N=

255
X

ik

(20)

k=0

Adems se debe de cumplir que la funcin de densidad de la imagen A sea montona creciente lo que implica que
fA (ik ) < fA (ik+1 )

(21)

tambin se debe de satisfacer que la suma de las probabilidades de todas las escalas sea igual a 1, entonces
P (i 255) =

255
X

P (ik ) = 1

(22)

k=0

donde P (i 255) indica la probabilidad de la variable aleatoria i y P (ik ) indica


la probabilidad de la intensidad ik .
Retomando la ecuacin (18) podemos decir que i = g(i) dado que i es una
variable aleatoria entonces i es una variable aleatoria y se dice que g(i) es una
funcin de una variable aleatoria [5]. Lo cual tiene sentido dado que el valor de la
intensidad ik es un proceso aleatorio y dado que el nuevo valor de intensidad ik es
dependiente; tambin es un procesos aleatorio. Por el teorema fundamental para
determinar la funcin de distribucin y densidad de i = g(i) sabemos que
fC (i ) =

fA (i1 )
fA (in )
+ +
+

|g (i1 )|
|g (in )|

donde
g (i) =
10

dg(i)
di

(23)

(24)

por lo tanto podemos determinar g(i) como


Z i

i = g(i) =
Pi (t)dt

(25)

de donde obtenemos
i = g 1 (i) = g 1 [FB (i)]

(26)

Debido a la naturaleza no lineal del problema para calcular los valores discretos de g por igualar a cero las ecuaciones diferenciales parciales, despus resolver
con mtodos iterativos basados en descenso por gradiente. Este procedimiento dificulta el clculo debido a que el proceso se puede detener cuando encuentre un
mnimo local. Es por ello que nos basamos en el mtodo propuesto por Sang-Yeon
et al. [6] el cual se describe a continuacin.
La idea fundamental del mtodo radica en que no es necesario calcular g(i)
mediante la inversin de fA (i) sino que se realiza por un mtodo iterativo buscando la correspondencia mutua entre la distribucin de la imagen objetivo fB (w) y
la considerada fuente fA (i). Para ello se debe considerar que FB (w) est normalizado es decir
1
FB (w)
(27)
N
donde Fb (w) es el histograma normalizado de la imagen objetivo, esto implica
que
255
X
Fb (wk ) = 1
(28)
Fb (w) =

k=0

entonces wk [0, 1]. Ahora consideramos fA (i) como el histograma acumulado


de la imagen de referencia, entonces fA (i) debe de cumplir (22). Con estas consideraciones decimos que el rango de valores del histograma normalizado de la
imagen objetivo Fb (w) queda completamente cubierto en fA (i).
Por lo tanto el valor para el pixel en la imagen procesada i ser el valor del
histograma acumulado fA (i) que se corresponda con la menor diferencia [3]. Lo
anterior se puede expresar como
i = g(i) = mn [j|1 j < N (fA (i) fB (j))]

(29)

A continuacin se muestra el algoritmo extrado de [2] donde debemos notar


que el autor utiliza K para determinar las dimensiones de la escala [0,255], nombra fhs a la funcin que nosotros denominamos g, as como CDF es la funcin
que calcula el histograma acumulado.
11

Algoritmo 1 Algoritmo MatchPiecewiseLinearHistogram por Wilhelm Burger et


al.[2] de la pgina 72.
Entrada: hA : histograma de la imagen original IA .
LR : funcion de distribucin de referencia, dada como una secuencia de N + 1
puntos de control LR = [ha0 , q0 i, ha1 , q1 i, . . . , haN , qN i, ], con 0 ak < K y
0 qk 1.
Salida: Una funcin de mapeo discreta de pixeles fhs (a) para modificar la imagen original IA .
1: Hacer K Tamao(hA )
2: Hacer PA CDF(hA )
3: Crear un arreglo fhs [] de tamao K
4: para todo a 0, . . . (K 1) hacer
5:
b PA (a)
6:
si b q0 entonces
7:
a 0
8:
si no, si b 1 entonces
a K 1
9:
si no
10:
nN 1
11:
mientras (n 0) (qn > b) hacer
12:
nn1
n+1 an )
13:
a an + (b qn ) (a
(qn+1 qn )
14:
fin mientras
15:
fin si
16:
fhs [a] a
17: fin para
18: devolver fhs .

12

Una vez desarrollado el algoritmo se escribi la siguiente funcin (Cdigo 5)


llamada aplicarDensidad(dOrigen,dFuente) que recibe dos arreglos
unidimensionales como argumento de entrada, dOrigen y dFuente, lo cuales
contienen los histogramas acumulados o funciones de densidad de la imagen que
se va a modificar dOrigen (fB (w) y la de referencia dFuente (fA (i)). En la
funcin se calcula una secuencia (la funcin g) la cual es aplicada a la imagen B
y sta de tal forma que si calculamos de nuevo su densidad; sta se asemeja a la
densidad de la imagen A.
Cdigo 5: Funcin aplicarDensidad.
1
2
3

function g = aplicarDensidad(dOrigen,dFuente)
n = length(densidadA);
g = zeros(n,1);

for i=1:256
for j=1:256
if dOrigen(i)==dFuente(j)
k=j;
break;
else if dOrigen(i) < dFuente(j)
k=j-1;
break;
end
end
end
g(i)=k;
end

5
6
7
8
9
10
11
12
13
14
15
16
17
18

end

El problema prctico del presente trabajo consiste en cambiar la imagen utilizada en la seccin anterior (Figura 1) tal que la funcin de densidad de probabilidad de la imagen despus de procesarla se asemeje en la medida de lo posible a
imagen de la Figura 3 de la cual podemos decir que su histograma tiene la forma
de una campana gaussiana lo cual indica su distribucin de tonos es buena lo cual
se puede observar en su funcin de densidad (Figura 3(b)).
Despus de aplicar los procedimientos descritos en el presente trabajo se obtuvo la imagen con las caractersticas de la Figura 4. De esta imagen podemos
decir que su histograma (como en el caso anterior) no tiene presentes algunos de
los valores de la escala de grises, es decir, la probabilidad de algunos valores de
13

Histograma

Densidad
250

6000

200

4000

150
P(i)

Frecuencia

5000

3000
100
2000
50
1000

50

100
150
Escala de grises

200

(a) Histograma

250

50

100
150
Escala de grises (i)

200

250

(b) Histograma Acumulado

(c) Imagen

Figura 3: La imagen utilizada como referencia con su histograma y su funcin de


densidad de probabilidad.

14

la escala es igual a cero. Por ello se puede observar que la funcin de densidad
contiene algunos escalones. Como se puede observar en las Figuras 4 y 2 la calidad de la primera es superior, esto se debe a que la concentracin de los tonos esta
en el centro y por lo tanto la diferencia entre sombras e iluminaciones no es muy
drstica; la distribucin uniforme generalmente no mejora, se utiliza para aclarar
las imgenes [4].
Histograma

Densidad
250

9000
8000

200

6000
150
P(i)

Frecuencia

7000

5000
4000

100
3000
2000

50

1000
0

50

100
150
Escala de grises

200

(a) Histograma

250

50

100
150
Escala de grises (i)

200

250

(b) Histograma Acumulado

(c) Imagen

Figura 4: La imagen utilizada como referencia con su histograma y su funcin de


densidad de probabilidad.
En la Figura 5 se muestra la similitud de la funcin de densidad de la imagen
filtrada (fB (w), despus de ser filtrada) y la funcin de densidad de la imagen de
referencia (fA (i)), as como la similitud en los histogramas de ambas imgenes.
Ahora se muestra la segunda parte del script main donde se describe la seccin de cdigo que ecualiza la imagen B con respecto de la imagen A, es decir,
hacer que la imagen B parezca que fue tomada bajo las mismas condiciones que la
imagen A; ello en cuanto a la exposicin de las iluminaciones. Este procedimiento
como el lector puede observar es muy semejante a la primera parte, se computa
la funciones de densidades de las dos imgenes. Mencionamos que en la lnea 74
15

fA(i) vs. fB(w)


250

P(i), P(w)

200

150

100

50
fA(i)
0

fb(w)
0

50

100
150
Escala de grises

200

250

Figura 5: Comparacin de fA (i) y fB (w) despus de ser filtrada.


se modifica la funcin de densidad de la imagen B con respecto de la funcin de
densidad de la imagen A, de tal forma que el resultado sea una imagen C tal que
su funcin de densidad sea semejante a la funcin de densidad de A y contenga los
pixeles de la imagen B; la imagen C es una imagen ecualizad de B con respecto
de la imagen A.
A continuacin se describe el cdigo de la segunda parte del script main.
Cdigo 6: Script main segunda parte.
60
61
62
63
64
65

66
67
68

69
70
71
72

73
74
75

%============== SEGUNDA PARTE ================


%cargar la imagen buena
imgA = loadImg(imgBuena.jpg);
%cargar la imagen mala
imgB = loadImg(imgMala.jpg);
%crear el histograma y funcion de densidad para la imagen
buena
[m,n]
= size(imgA);
histImgA = histograma(imgA,m,n);
denImgA = getDensidadFuncion(histImgA,m,n,length(pixels)
,255.0);
%crear histograma y funcion de densidad para la imagen mala
[m,n]
= size(imgB);
histImgB = histograma(imgB,m,n);
denImgB = getDensidadFuncion(histImgB,m,n,length(pixels)
,255.0);
%aplicar la funcion de densidad a la imagen mala
g=aplicarDensidad(denImgB,denImgA);
imgC = getImgCambioDensidad(ImgB,g);

16

76
77
78
79
80

[m,n] = size(imgC);
%calcular la funcion de densidad de la imagen filtrada
imgMalaFiltrada = uint8(ImgC);
histImgC = histograma(ImgC,m,n);
denImgC = getDensidadFuncion(ImgC,m,n,length(pixels)
,255.0);

4.

Conclusiones

En el presente trabajo se abord el tratamiento de imgenes digitales, especficamente la ecualizacin y especificacin del histograma mediante operaciones de
pixel para ilustraciones a escala de grises.
Para la ecualizacin del histograma se cambi la probabilidad de cada una de
las escalas de los grises para que la funcin de densidad acumulada de la imagen
sea una linea recta de pendiente uno (m = 1). El resultado obtenido fue una lnea
con algunos escalones situados donde la frecuencia de ese valor de escala es igual
a cero (F (ij ) = 0). Debido a esto la imagen presenta cambios abruptos en ciertas
reas, lo cual permite observar las curvas de nivel en la intensidad de la imagen;
estos cambios muestra una imagen aclarada pero que su cambio de tonalidad no
es suave.
El cambio de histograma por especificacin se utiliz otra imagen (con iluminaciones bien balanceadas) como referencia. Cabe sealar que dicha imagen tiene
una funcin de densidad que se parece a una campana gaussiana con sus pico
mximo centrado en la escala. Con la especificacin se distribuy el histograma
con respecto a la imagen de referencia, con la finalidad, que una vez procesada
la imagen, su funcin de densidad de probabilidad se parezca, en la medida de lo
posible, al histograma acumulado de la imagen de referencia. Y que ambas imgenes tengan iluminaciones semejantes. Con el mtodo utilizado se mostr que
la semejanza de las funciones en cuestin es muy semejante; discrepan en ciertas
reas donde la probabilidad del valor de la escala es nulo para la imagen procesada. El resultado se observa porque la imagen procesada est mejor iluminada
respecto a la inicial.
A manera de conclusin decimos que el segundo mtodo tiene mejores resultados que el primero. Con lo cual se determin que la ecualizacin del histograma
no es la mejor opcin para aclarar una imagen; no atrevemos a decir que no debe
considerarse como una opcin. Cuando se desee aclarar una imagen por especifi17

cacin del histograma se obtienen resultados tales que la imagen de salida parece
que fueron tomadas en las mismas condiciones que la imagen de referencia.
Como lneas futuras se considera utilizar un mtodo de optimizacin que permita tener una mejor aproximacin en la funcin de densidad de la imagen de
salida con respecto de la de referencia. Si bien ello implica un mayor costo computacional (con respecto al mtodo utilizado en el presente documento), resulta interesante cuando la funcin de densidad resultado se presente un gran nmero de
escalones.

Referencias
[1] J.J.O.A. Alvarado-Valencia, J.A. Fundamentos de inferencia estadstica. Pontificia Universidad Javeriana, 2008.
[2] W. Burger and M.J. Burge. Principles of digital image processing: fundamental techniques. Springer, 2011.
[3] D. Cuevas, E. Zaldvar and M. Prez. Procesamiento digital de imgenes con
MATLAB y Simulink. Alfaomega, 2010.
[4] R.C. Gonzlez and R.E. Woods. Digital Image Processing. Addison-Wesley
world student series. Addison-Wesley, 1993.
[5] A. Papoulis. Probabilidad, variables aleatorias y procesos estocsticos. Eunibar, 1980.
[6] K. Sang-Yeon, H. Dongil, C. Seung-Jong, and P. Jong-Seok. Image contrast
enhancement based on the piecewise-linear approximation of cdf. In Consumer Electronics, 1999. ICCE. International Conference on, pages 164165,
June 1999.
[7] M.F. Zanuy. Tratamiento digital de voz e imagen y aplicacin a la multimedia.
ACCESO RPIDO. Marcombo, 2000.

18

You might also like