-
METODOS ALTERNATIVOS PARA EL
MEJORAMIENTO AUTOMATICO DEL
CONTRASTE DE IMAGENES
Por
Violeta Noem Chang Camacho
Jose Manuel Saavedra Rondo
Tesis para obtener el Ttulo de
Ingeniero Informatico
UNIVERSIDAD NACIONAL DE TRUJILLO
TRUJILLO, PERU
ESCUELA DE INGENIERIA INFORMATICA
JUNIO, 2001
c Copyright by Violeta Noem Chang Camacho
Jose Manuel Saavedra Rondo, 2001
-
UNIVERSIDAD NACIONAL DE TRUJILLO
Date: Junio, 2001
Autor: Violeta Noem Chang Camacho
Jose Manuel Saavedra Rondo
Ttulo: Metodos Alternativos para el Mejoramiento
Automatico del Contraste de Imagenes
Escuela: Escuela de Ingeniera Informatica
Facultad: Ciencias Fsicas y Matematicas
Permission is herewith granted to Universidad Nacional de Trujillo to
circulate and to have copied for non-commercial purposes, at its discretion, the
above title upon the request of individuals or institutions.
Signature of Author
THE AUTHOR RESERVES OTHER PUBLICATION RIGHTS, ANDNEITHER THE THESIS NOR EXTENSIVE EXTRACTS FROM IT MAYBE PRINTED OR OTHERWISE REPRODUCED WITHOUT THE AUTHORSWRITTEN PERMISSION.
THE AUTHOR ATTESTS THAT PERMISSION HAS BEEN OBTAINEDFOR THE USE OF ANY COPYRIGHTED MATERIAL APPEARING IN THISTHESIS (OTHER THAN BRIEF EXCERPTS REQUIRING ONLY PROPERACKNOWLEDGEMENT IN SCHOLARLYWRITING) AND THAT ALL SUCH USEIS CLEARLY ACKNOWLEDGED.
ii
-
Tabla de Contenidos
Tabla de Contenidos iii
List of Tables v
List of Figures vi
1 Introduccion al Procesamiento de Imagenes x
1.1 Procesamiento de Imagenes . . . . . . . . . . . . . . . . . . . . . . . xi
1.2 Representacion de una Imagen . . . . . . . . . . . . . . . . . . . . . . xii
1.3 Tipos de Operaciones sobre Imagenes . . . . . . . . . . . . . . . . . . xiv
1.4 Tecnicas del Procesamiento de Imagenes . . . . . . . . . . . . . . . . xvi
2 Herramientas para el Mejoramiento del Contraste xvii
2.1 Histograma de una Imagen . . . . . . . . . . . . . . . . . . . . . . . . xviii
2.2 Acumulacion de una Imagen . . . . . . . . . . . . . . . . . . . . . . . xix
2.3 Caso Continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
2.4 Contraste de una Imagen . . . . . . . . . . . . . . . . . . . . . . . . . xxi
3 Metodos Clasicos para el Mejoramiento del Contraste xxiv
3.1 Escalamiento Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
3.2 Ecualizacion del Histograma . . . . . . . . . . . . . . . . . . . . . . . xxviii
3.3 Ecualizacion Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
4 Mejoramiento del Contraste va Ecuaciones Diferenciales Parcialesxxxiv
4.1 Modificacion de la Distribucion de Tonos de Gris . . . . . . . . . . . xxxv
4.2 Algoritmo y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . lii
5 Mejoramiento del Contraste va Ecualizacion Local lvi
5.1 Componentes Conexos . . . . . . . . . . . . . . . . . . . . . . . . . . lviii
iii
-
5.2 Mejoramiento del Contraste Preservando Formas . . . . . . . . . . . . lxiii
5.3 Algoritmo y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . xciii
6 Analisis de Resultados xcvii
7 Conclusiones cx
A Topologa Digital cxiv
A.1 Vecinos y Rutas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cxv
A.2 Conexidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cxvi
A.3 Bordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cxvii
A.4 Algoritmo para encontrar Componentes Conexos . . . . . . . . . . . . cxx
iv
-
List of Tables
v
-
List of Figures
1.1 Imagen Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
1.2 Representacion matricial de la region (69:99,99:129) de la imagen dig-
ital de la Figura 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
1.3 Representacion abstracta de una region de la imagen digital de la
Figura 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
1.4 Tipos de operaciones sobre imagenes . . . . . . . . . . . . . . . . . . xv
2.1 Histograma de la imagen digital de la Figura 1.1 . . . . . . . . . . . . xviii
2.2 Algoritmo para calcular el histograma de una imagen de dimensiones
m n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
2.3 Acumulacion de la imagen digital de la Figura 1.1 . . . . . . . . . . . xx
2.4 Algoritmo para calcular la acumulacion de una imagen donde h repre-
senta el histograma de la imagen calculado con la funcion anterior . . xx
2.5 Imagen con bajo contraste, cuyos valores tienden a 0 . . . . . . . . . xxii
2.6 Imagen con bajo contraste, cuyos valores tienden a 255 . . . . . . . . xxiii
2.7 Imagen con alto contraste . . . . . . . . . . . . . . . . . . . . . . . . xxiii
vi
-
3.1 Explicacion esquematica del uso de la modificacion de la distribucion
de tonos de gris para mejorar el contraste de una imagen . . . . . . . xxv
3.2 Transformacion de Escalamiento Lineal . . . . . . . . . . . . . . . . . xxvi
3.3 Algoritmo del metodo clasico de Escalamiento Lineal . . . . . . . . . xxvii
3.4 Imagen obtenida aplicando el metodo de Escalamiento Lineal . . . . . xxvii
3.5 Imagen obtenida aplicando el metodo de Escalamiento Lineal . . . . . xxviii
3.6 Imagen obtenida aplicando la variacion del Escalamiento Lineal . . . xxix
3.7 Algoritmo del metodo clasico de Ecualizacion del Histograma . . . . . xxx
3.8 Imagen obtenida aplicando Ecualizacion del Histograma . . . . . . . . xxx
3.9 Imagen obtenida aplicando Ecualizacion del Histograma . . . . . . . . xxxi
3.10 Algoritmo del metodo clasico de Ecualizacion Local . . . . . . . . . . xxxii
3.11 Imagen obtenida aplicando Ecualizacion Local . . . . . . . . . . . . . xxxiii
3.12 Imagen obtenida aplicando Ecualizacion Local . . . . . . . . . . . . . xxxiii
4.1 Esquema de la normalizacion en el espacio . . . . . . . . . . . . . . . xxxvii
4.2 (a) Representa una imagen unidimensional cuya funcion de distribucion
no es continua, mientras que (b) representa una imagen que no es
continua pero cuya funcion de distribucion s lo es. . . . . . . . . . . xliii
4.3 Representacion Unidimensional de F0 . . . . . . . . . . . . . . . . . . xlviii
4.4 Algoritmo del metodo basado en ecuaciones diferenciales . . . . . . . lii
4.5 Imagen Original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii
4.6 Imagenes intermedias obtenidas en cada una de las iteraciones del algo-
ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Par-
ciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liv
vii
-
4.7 Imagen en el estado estacionario obtenida con el algoritmo Mejo-
ramiento del Contraste va Ecuaciones Diferenciales Parciales . . . . lv
5.1 Representacion esquematica de tres secciones diferentes de un mapa
topografico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lx
5.2 Representacion esquematica . . . . . . . . . . . . . . . . . . . . . . . lxxx
5.3 Representacion esquematica . . . . . . . . . . . . . . . . . . . . . . . lxxxi
5.4 Algoritmo del Metodo Alternativo basado en Ecualizacion Local . . . xciv
5.5 Imagen Original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xcv
5.6 Imagenes intermedias obtenidas en cada una de las iteraciones del al-
goritmo Mejoramiento del Contraste va Ecualizacion Local . . . . xcvi
5.7 Imagen en el estado estacionario obtenida con el algoritmo Mejo-
ramiento del Contraste va Ecualizacion Local . . . . . . . . . . . . xcvi
6.1 Imagen Original y su Histograma . . . . . . . . . . . . . . . . . . . . xcviii
6.2 Imagen obtenida luego de aplicar el metodo de Escalamiento Lineal y
su histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xcix
6.3 Imagen obtenida luego de aplicar el metodo de Ecualizacion del His-
tograma y su correspondiente histograma . . . . . . . . . . . . . . . . xcix
6.4 Imagen obtenida luego de aplicar el metodo de Ecualizacion Local y
su histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c
6.5 Imagenes y sus histogramas obtenidos en las iteraciones 1 y 2 del algo-
ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Par-
ciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ci
viii
-
6.6 Imagenes y sus histogramas obtenidos en las iteraciones 3 y 4 del algo-
ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Par-
ciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cii
6.7 Imagenes y sus histogramas obtenidos en las iteraciones 1, 2 y 3 del
algoritmo Mejoramiento del Contraste va Ecualizacion Local . . . ciii
6.8 Imagenes y sus histogramas obtenidos en las iteraciones 3, 4 y 5 del
algoritmo Mejoramiento del Contraste va Ecualizacion Local . . . civ
6.9 Imagen Original y su Histograma . . . . . . . . . . . . . . . . . . . . cv
6.10 Imagenes y sus histogramas obtenidos luego de aplicar los metodos
clasicos de Escalamiento Lineal, Ecualizacion del Histograma y Ecual-
izacion Local, respectivamente. . . . . . . . . . . . . . . . . . . . . . cvi
6.11 Imagenes y sus histogramas obtenidos en las iteraciones 1 y 2 del algo-
ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Par-
ciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cvii
6.12 Imagenes y sus histogramas obtenidos en las iteraciones 3 y 4 del algo-
ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Par-
ciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cvii
6.13 Imagenes y sus histogramas obtenidos en las iteraciones 1, 2 y 3 del
algoritmo Mejoramiento del Contraste va Ecualizacion Local . . . cviii
6.14 Imagenes y sus histogramas obtenidos en las iteraciones 4 y 5 del al-
goritmo Mejoramiento del Contraste va Ecualizacion Local . . . . cix
A.1 Representacion grafica de los 4-vecinos (a) y 8-vecinos (b) de (x, y) . cxvi
A.2 Algoritmo para encontrar los componentes conexos de un conjunto Oij cxx
ix
-
Captulo 1
Introduccion al Procesamiento de
Imagenes
Facilmente podemos imaginar diversas aplicaciones del mundo real que necesitan ma-
nipular imagenes. Sin ir muy lejos, enfocandonos en el campo medico, en donde para
diagnosticar muchas enfermedades se hace uso de imagenes en forma de radiografas,
tomografas, entre otras. Sin embargo, en reiteradas ocasiones los equipos utilizados
para su captura generan imagenes que necesitan ser procesadas para su posterior in-
speccion visual por un especialista o por un sistema analizador de imagenes. As como
este, podramos citar innumerables ejemplos en los que las imagenes constituyen una
indispensable fuente de informacion.
En una publicacion del ano 1994, titulada Digital Image Processing Methods,
Edward R. Dougherty reconocio que el Procesamiento de Imagenes era una area
relativamente nueva y compleja por s misma. Durante las dos ultimas decadas,
el Procesamiento de Imagenes ha llegado a ser un campo ampliamente investigado
con aplicaciones que se extienden sobre todas las areas del conocimiento humano,
desde Astronoma hasta Medicina, utilizando muchas disciplinas matematicas que
abarcan desde Geometra Diferencial hasta Topologa Digital pasando por Teora de
x
-
xi
Probabilidades [Gou96].
Las siguientes secciones tienen por objetivo sumergir al lector dentro del Pro-
cesamiento de Imagenes, no solo definiendolo como una importante disciplina de las
Ciencias de la Computacion, sino tambien detallando su relacion con otras disciplinas.
Ademas tambien se describen los tipos de operacion y tecnicas utilizadas en este
campo.
1.1 Procesamiento de Imagenes
Debido a la gran importancia que ha alcanzado el uso de imagenes en diferentes
aplicaciones, el Procesamiento de Imagenes se ha convertido en una de las disciplinas
mas atractivas de las Ciencias de la Computacion, motivo por el cual, en las ultimas
decadas muchos cientficos se han dedicado a desarrollar diversos metodos en este
campo, basandose en diferentes ramas de las matematicas como Topologa Digital y
Geometra Diferencial, entre otros.
El objetivo principal del Procesamiento de Imagenes es el acondicionamiento de
estas para facilitar su analisis posterior por parte de un especialista o un sistema
visual. Por ejemplo, mejorar el contraste de una imagen radiografica, para que al
medico le resulte mas facil detectar alguna anomala.
Uno de los principales retos de disciplinas como Vision Computacional, Robotica,
Reconocimiento de Patrones, por mencionar algunas, es entender como obtener infor-
macion estable y confiable de los elementos que constituyen una imagen, a partir de
sus propiedades locales, independientemente del caracter natural o artificial del dis-
positivo de percepcion. No es difcil imaginar que muchos dispositivos para analisis
-
xii
de imagenes asumen un paso preliminar consistente en el procesamiento de la imagen
a tratar.
1.2 Representacion de una Imagen
Como es obvio, antes de procesar una imagen es necesario capturarla y aunque nue-
stros objetivos no se centran en el estudio de los metodos para realizar esta operacion,
en esta seccion se presenta un descripcion general de este proceso.
Desde el punto de vista fsico, una imagen se obtiene como resultado de la im-
presion dejada en la retina o cualquier otro dispositivo fotosensitivo, por la luz emi-
tida o reflejada por los objetos sobre una superficie. Por ejemplo, una camara permite
capturar la distribucion de luminancia de los objetos en la escena. Existen muchos
otros dispositivos fotosensitivos que permiten capturar imagenes, los cuales varan
desde equipos de rayos X hasta sensores de huellas digitales, cuyo uso depende de la
aplicacion en la que se este trabajando.
Muchos de los dispositivos antes mencionados cuentan con rutinas que permiten
convertir la senal analogica en digital, y, de esta forma, obtener una imagen digital,
como la que se muestra en la Figura 1.1. Las mas importantes operaciones en este
proceso se conocen como Sampling y Quantization.
La imagen digital es representada por una matriz numerica cuyos elementos pueden
ser interpretados de acuerdo a la aplicacion. Estas pueden interpretarse como la lu-
minancia de objetos en una escena, las caractersticas de absorcion de los tejidos de
un cuerpo en una imagen de rayos X o los niveles de temperatura en una imagen
infrarroja, por citar solamente algunos ejemplos.
-
xiii
Figura 1.1: Imagen Digital
Los elementos de la matriz mencionada se denominan pixels (picture elements). A
cada pixel le corresponde el tono de gris presente en una determinada ubicacion en la
imagen. Usualmente, estos valores enteros varan entre 0 y 255, donde 0 representa
el color negro, 255 el color blanco, y los valores intermedios diversifican el espectro de
tonos de gris restantes. En la Figura 1.2 se presenta una region de la matriz numerica
(69 : 99, 99 : 129) correspondiente a la imagen digital de la Figura 1.1.
Figura 1.2: Representacion matricial de la region (69:99,99:129) de la imagen digitalde la Figura 1.1
La razon por la cual el conjunto {i | i = 0, . . . , 255} es frecuentemente empleado
-
xiv
en la codificacion de tonos de gris es que cada elemento de este conjunto puede se
almacenado en un byte (8 bits), por lo tanto se pueden generar 28 = 256 valores
diferentes.
Sin embargo, en algunas ocasiones y para efectos teoricos, es conveniente represen-
tar una imagen mediante una funcion acotada de variables continuas (ver Figura 1.3),
donde a cada punto del dominio le corresponde un tono de gris especfico. En general,
sea I : RR [0,M ], es decir, para cada punto (x, y) en la imagen (pixel), el valor
I(x, y) indica su tono de gris, cero representa un color negro y M , el valor maximo,
el color blanco.
05
1015
2025
3035
0
10
20
30
400
50
100
150
200
250
Figura 1.3: Representacion abstracta de una region de la imagen digital de laFigura 1.1
1.3 Tipos de Operaciones sobre Imagenes
Una operacion de transformacion de una imagen es una funcion que toma a una im-
agen como entrada y produce otra, mejor en algun sentido, a la cual denominamos
-
xv
imagen procesada. Es decir, si I es una imagen y T es una operacion de transfor-
macion, entonces G = T (I) resulta ser la imagen procesada. El dominio de una
operacion es conocido como el dominio espacial, mientras que el rango de esta op-
eracion es conocido como el rango de la transformacion [Ero00].
Las operaciones que pueden ser aplicadas a imagenes para transformar una imagen
de entrada I en una imagen de salida G pueden ser clasificadas en tres categoras
[IY98], como se describe a continuacion y se ilustra en la Figura 1.4.
Figura 1.4: Tipos de operaciones sobre imagenes
Operacion de Punto : El valor de salida de un pixel depende unicamente del
valor de entrada de ese pixel.
Operacion Local : El valor de salida de un pixel especfico depende de los valores
de entrada de los puntos de una vecindad para dicho pixel.
Operacion Global : El valor de salida para un pixel especfico depende de los
valores de todos los puntos de la imagen de entrada.
-
xvi
1.4 Tecnicas del Procesamiento de Imagenes
La gran variedad de aplicaciones de Procesamiento de Imagenes exige la existencia de
numerosas tecnicas en este campo. Dependiendo del problema, es necesario aplicar
una o mas combinaciones de estas tecnicas. El objetivo de esta seccion es brindar un
panorama general sobre algunas de las tecnicas mas utilizadas en Procesamiento de
Imagenes.
Binarizacion : Es una operacion de punto que produce una imagen binaria a
partir de una imagen en escala de grises, cuyo objetivo es facilitar la separacion
del objeto y del fondo.
Mejoramiento del Contraste : Se trata de una tecnica cuyo efecto es mejorar o
incrementar la visibilidad de los detalles de una imagen. Contrast Stretching
y Ecualizacion del Histograma son dos de los metodos comunmente utilizados
para este fin.
Eliminacion del Ruido : Es una tecnica que permite remover pequenas per-
turbaciones sobre la imagen que se producen, generalmente, al momento de
capturarla. Entre los metodos mas conocidos figuran Filtro Gaussiano y Filtro
Medio, entre otros.
Deteccion de Bordes : Es una operacion local que permite identificar los bordes
de todos los objetos que conforman una imagen. Las cuatro clases mas comunes
de operaciones para detectar bordes son: Gradiente, Laplacian, Zero-Crossing
y Morfologico.
-
Captulo 2
Herramientas para el
Mejoramiento del Contraste
Debido a que en el campo de Procesamiento de Imagenes es muy comun hacer uso
de descripciones estadsticas de imagenes, en este captulo se presentan dos de estas
descripciones que son fundamentales para el completo entendimiento de los Metodos
Alternativos para el Mejoramiento Automatico del Contraste de Imagenes contenidos
en los captulos posteriores.
La primera de estas herramientas, histograma, no solo es fundamental para el
mejoramiento del contraste de imagenes, sino tambien es muy utilizado en muchas
otras operaciones en este campo. Como ejemplo podramos mencionar el proceso de
binarizacion de una imagen; en este caso el histograma nos permite hallar el valor
umbral ideal para realizar este proceso.
La segunda herramienta que presentamos en este captulo, denominada acumu-
lacion, esta ntimamente relacionada con el concepto anterior y sus aplicaciones son
igualmente diversas.
xvii
-
xviii
En el primer captulo se definio una imagen tanto desde el punto de vista dis-
creto como desde el punto de vista continuo; es as que definiremos histograma y
acumulacion desde ambos puntos de vista.
Al finalizar este captulo, introduciremos la nocion de contraste de una imagen,
basandonos en el concepto que se presenta en la seccion 2.1, puesto que esta es la
caracterstica de la imagen que se busca mejorar.
2.1 Histograma de una Imagen
De acuerdo a las consideraciones de la introduccion, una importante herramienta
estadstica es el histograma de frecuencias. Es preciso entender al histograma como
un vector cuyos elementos representan el numero total de pixels encontrados en una
imagen con un determinado tono de gris [FPWW96], el cual a su vez corresponde al
ndice del elemento del vector (ver Figura 2.1).
0 50 100 150 200 2500
100
200
300
400
500
600
Figura 2.1: Histograma de la imagen digital de la Figura 1.1
Formalizando diremos que, sea IM la representacion matricial de la imagen I,
-
xix
entonces llamaremos histograma de I al vector h definido como
h = {h() | h() =
IM (i,j)=
1 = 0 . . . 255} (2.1.1)
Es posible calcular el histograma de una imagen recorriendola una sola vez; esto
se logra con la funcion de la Figura 2.2 [Hos99].
Figura 2.2: Algoritmo para calcular el histograma de una imagen de dimensionesm n
Dividiendo cada uno de los componentes del histograma entre el numero total de
elementos de la matriz IM obtenemos un histograma normalizado, en el que cada uno
de sus elementos puede ser interpretado como la probabilidad de que a un pixel le
corresponda un determinado tono de gris [Hos99].
2.2 Acumulacion de una Imagen
Analogamente a la seccion anterior, definamos IM como la representacion matricial
de una imagen I. Por acumlacion de I nos referimos al vector H cuyas componentes
representan el numero de elementos de la matriz IM con valores menores que un tono
de gris determinado (Ver Figura 2.3).
Al formalizar la definicion anterior, el vector H se definira como
H = {H() | H() =1
j=0
h(j) = 0 . . . 255} (2.2.2)
Para obtener la acumulacion de una imagen podemos utilizar la funcion contenida
en la Figura 2.4.
-
xx
0 50 100 150 200 2500
0.5
1
1.5
2
2.5
3x 10
4
Figura 2.3: Acumulacion de la imagen digital de la Figura 1.1
Figura 2.4: Algoritmo para calcular la acumulacion de una imagen donde h repre-senta el histograma de la imagen calculado con la funcion anterior
2.3 Caso Continuo
Desde el punto de vista continuo, la acumulacion H puede ser definida a partir de un
conjunto medible
= {(v, w) | I(v, w) < } (2.3.3)
donde es un tono de gris determinado. Usando la siguiente funcion caracterstica
X(v, w) =
1, (v, w)
0, (v, w) /
(2.3.4)
podemos definir la medida del conjunto como
() =
R2X dx dy, (2.3.5)
-
xxi
As, la acumulacon relativa en el caso continuo se expresa como
H() =
R2
1
()X dx dy, (2.3.6)
donde () representa el area total de la imagen. De esta manera, la igualdad anterior
representa tambien la funcion de distribucion de probabilidades [Hos99].
Tomando como base la acumulacion definida desde el punto de vista continuo
podemos definir, en este sentido, los elementos del histograma como
h() =dH()
d(2.3.7)
que puede ser intepretado como la funcion de densidad de probabilidades [IY98].
2.4 Contraste de una Imagen
Cuando hablamos del contraste de una imagen nos referimos al rango de tonos de
gris que toman la mayora de sus pixels a lo largo de todos los permisibles, en nuestro
caso, de 0 a 255.
Para entender mejor esta definicion, haremos uso del histograma de la imagen,
como los que se muestran en las figuras siguientes. Observando el histograma de la
imagen en la Figura 2.5 notamos claramente que la mayora de pixels toma valores
en un rango mucho menor que el rango disponible, es decir de 0 a 255. Ademas, estos
pixels tienen valores cercanos a cero, lo cual indica que la imagen es muy oscura. De
igual manera podemos deducir lo que ocurrira con el histograma de una imagen muy
clara, como el de la Figura 2.6. En este caso observamos que el rango de tonos de gris
de la mayora de los pixels es tan pequeno como en el caso anterior, con la diferencia
de que ahora estos tienden a 255.
-
xxii
0 50 100 150 200 2500
200
400
600
800
1000
1200
1400
1600
1800
Figura 2.5: Imagen con bajo contraste, cuyos valores tienden a 0
En ambos casos, se dice que el contraste de las imagenes mostradas es bajo o pobre,
puesto que el rango de tonos de gris en el que la mayora de pixels estan concentrados
es pequeno. Cuando sucede lo contrario, es decir, que este rango abarque casi todos
los tonos de gris [0..255], entonces la imagen tendra un alto contraste [Ant97]. Esto
puede verificarse al observar la Figura 2.7 mostrada a continuacion, en donde se
presenta una imagen con alto contraste y su respectivo histograma.
En los siguientes captulos se presentaran algunos metodos clasicos y se desarrol-
laran metodos alternativos para mejorar el contraste de imagenes, lo que constituye
nuestro principal objetivo.
-
xxiii
0 50 100 150 200 2500
1000
2000
3000
4000
5000
6000
7000
8000
Figura 2.6: Imagen con bajo contraste, cuyos valores tienden a 255
0 50 100 150 200 2500
200
400
600
800
1000
1200
Figura 2.7: Imagen con alto contraste
-
Captulo 3
Metodos Clasicos para el
Mejoramiento del Contraste
En muchas ocasiones, las imagenes son capturadas con un bajo contraste. La razon
principal de este problema son las condiciones inadecuadas de iluminacion (por ejem-
plo, imagenes captadas en la noche o contra los rayos del sol), dando como resultado
imagenes demasiado oscuras o con mucho brillo. Este hecho dificulta una clara ob-
servacion de los detalles en la imagen, por lo tanto esta es inapropiada para una
inspeccion visual.
La forma mas comun de mejorar el contraste en una imagen es modificando la
distribucion de tonos de gris en la misma. Un ejemplo esquematico del problema
del mejoramiento del contraste y su solucion va modificacion de la distribucion de
tonos de gris se muestra en la Figura 3.1. A la izquierda, vemos una imagen con
bajo contraste con dos objetos diferentes, uno dentro del otro, y su correspondiente
histograma. Podemos observar que la imagen tiene bajo contraste, y los diferentes
objetos no pueden ser identificados debido a que las regiones tienen tonos de gris
casi identicos. A la derecha vemos que ocurre cuando modificamos la distribucion
de tonos de gris de tal forma que aquellos correspondientes a las dos regiones esten
xxiv
-
xxv
separados. El contraste es mejorado significativamente.
Figura 3.1: Explicacion esquematica del uso de la modificacion de la distribucionde tonos de gris para mejorar el contraste de una imagen
Existen diversos metodos que modifican la distribucion de tonos de gris para mejo-
rar el contraste de imagenes, algunos de los cuales se basan en operaciones globales
y otros en operaciones locales. En este captulo hemos seleccionado un pequeno sub-
conjunto formado por los metodos clasicos mas utilizados. Los dos primeros trabajan
globalmente sobre la imagen, mientras que el tercero de estos lo hace localmente.
Daremos una breve explicacion de cada uno de ellos, y ademas haremos uso de las
imagenes con bajo contraste presentadas en el captulo anterior (Figuras 2.5 y 2.6)
para mostrar los resultados obtenidos al aplicarlos. No entraremos en detalle en cada
uno de los metodos presentados, puesto que nuestro principal objetivo se centra en el
desarrollo de metodos alternativos que permitan mejorar el contraste de imagenes.
3.1 Escalamiento Lineal
Como se menciono en el Captulo 2, las imagenes con bajo contraste se caracterizan
porque el rango de tonos de gris que toman la mayora de sus pixels es pequeno.
-
xxvi
Una de las formas mas sencillas de mejorar el contraste es aplicando una funcion de
escalamiento lineal, la cual permite ampliar el rango de tonos de gris que toman los
pixels de la imagen. A este metodo tambien se le conoce como Contrast Stretching
[IY98].
Para aplicar este metodo es necesario, en primer lugar, determinar el maximo y el
mnimo tono de gris presentes en la imagen original I, a los cuales denominaremos a
y b, respectivamente. Ademas, tambien es preciso especificar el nuevo rango en el que
se requiere que varen los tonos de gris de la nueva imagen G. Sean c y d el maximo y
mnimo valor de dicho rango, respectivamente, entonces, el valor de cada pixel (x, y)
de la imagen I es escalado usando la siguiente funcion
G(x, y) = (I(x, y) a)
(
c d
a b
)
+ d (3.1.1)
La Figura 3.2 ilustra graficamente la funcion de escalamiento lineal [FPWW96].
Figura 3.2: Transformacion de Escalamiento Lineal
Un algoritmo que permitira implementar este metodo clasico es el presentado en
la Figura 3.3
En la Figura 3.4 se muestra la imagen obtenida despues de haber aplicado este
metodo a la imagen de la Figura 2.6. Se observa que este metodo ha mejorado el
-
xxvii
Figura 3.3: Algoritmo del metodo clasico de Escalamiento Lineal
contraste de la imagen inicial. Ademas, en su histograma se puede ver que el rango
de tonos de gris se ha extendido a lo largo de todo el eje X.
0 50 100 150 200 2500
200
400
600
800
1000
1200
1400
1600
1800
2000
Figura 3.4: Imagen obtenida aplicando el metodo de Escalamiento Lineal
Ahora veamos que ocurre al procesar la imagen de la Figura 2.5, en la cual la
mayora de sus pixels tiene tonos de gris cercanos a cero. Como podemos observar
(Figura 3.5), la imagen casi no ha variado respecto de la original. Esto sucede debido a
que un unico pixel con un tono de gris muy alto o muy bajo puede afectar severamente
el valor de c o d y por lo tanto, existira un escalamiento casi desapercibido.
Una alternativa para evitar que ocurra el incoveniente antes mencionado es se-
leccionar a y b basandose en el histograma de la imagen original, de tal forma que
-
xxviii
0 50 100 150 200 2500
100
200
300
400
500
600
700
800
900
1000
Figura 3.5: Imagen obtenida aplicando el metodo de Escalamiento Lineal
el 5% de pixels tengan valores menores que a y otro 5% tengan valores mayores que
b [FPWW96]. Una de las desventajas que presenta la variacion del escalamiento
lineal es que, en muchos casos, genera objetos extranos en la imagen como puede
ser apreciado en la Figura 3.6 Esto se debe a que el orden de tonos de gris de la
imagen original no se mantiene en la imagen procesada; es decir, para algun par de
puntos de la imagen original I, (x, y) y (v, w), si I(x, y) < I(v, w) tendremos que
G(x, y) > G(v, w).
3.2 Ecualizacion del Histograma
Las tecnicas de modificacion del histograma proveen un sofisticado metodo para variar
el rango dinamico y el contraste de una imagen alterandola de tal manera que los tonos
de gris de sus pixels tengan la misma frecuencia en el histograma. En casos donde esto
no es posible, podemos expandir y contraer regiones del histograma para producir un
histograma tan plano como sea posible.
-
xxix
0 50 100 150 200 2500
50
100
150
200
250
300
Figura 3.6: Imagen obtenida aplicando la variacion del Escalamiento Lineal
El histograma nos dice que cantidad de pixels tiene cada tono de gris. Si distribui-
mos apropiadamente los nuevos tonos de gris proporcionales a la frecuencia con que
ocurre cada uno en la imagen original, el histograma de la imagen procesada debera
ser uniforme y por lo tanto, el contraste mejorara [Hor98]. Este proceso es conocido
como Ecualizacion y es descrito en forma continua como
G(x, y) = M
I(x,y)
0
() d (3.2.2)
donde I(x, y) es el tono de gris de entrada para el pixel (x, y), G(x, y) es el corres-
pondiente tono de gris en la imagen resultante para el mismo pixel, y es la funcion
de densidad de probabilidades (histograma normalizado) de la imagen original. En
el caso discreto usaremos la siguiente transformacion
G(x, y) = MI(x,y)
i=0
h(i) (3.2.3)
para lo cual M tomara el valor de 255 [Hor98].
Una forma de implementar este metodo es utilizando el algoritmo presentado en
la Figura 3.7
-
xxx
Figura 3.7: Algoritmo del metodo clasico de Ecualizacion del Histograma
0 50 100 150 200 2500
200
400
600
800
1000
1200
1400
Figura 3.8: Imagen obtenida aplicando Ecualizacion del Histograma
As como en el caso anterior, veremos lo que sucede cuando aplicamos este metodo
a dos imagenes con bajo contraste. En las Figuras 3.8 y 3.9 se presentan las imagenes
procesadas luego de haber aplicado la ecualizacion del histograma a imagenes donde
la mayora de pixels tienen tonos de gris que tienden a 255 y 0, respectivamente.
3.3 Ecualizacion Local
Las tecnicas globales, como las dos anteriormente presentadas, no brindan la posi-
bilidad de mejorar el contraste en zonas pequenas y con mucho detalle. Con el fin
-
xxxi
0 50 100 150 200 2500
50
100
150
200
250
Figura 3.9: Imagen obtenida aplicando Ecualizacion del Histograma
de contrarrestar esta deficiencia, surgen las tecnicas locales de mejoramiento del con-
traste. Una de las mas comunes es la denominada Ecualizacion Local [RG87].
Basicamente, la idea es utilizar la funcion de ecualizacion global del histograma
(Seccion 3.2) pero en una mascara de m n puntos que va desplazandose a lo largo
de toda la imagen [RG87].
El procedimiento consiste en definir una mascara de m n y mover el centro de
esta mascara de pixel a pixel. En cada ubicacion se calcula el histograma de los mn
puntos de la vecindad y se aplica la ecualizacion del histograma en esta region; es
decir, para obtener el nuevo tono de gris del pixel ubicado en el centro de la mascara
se aplica la funcion de ecualizacion del histograma unicamente sobre los puntos que
conforman la mascara,
G(x, y) = MI(x,y)
i=0
h(i) (3.3.4)
donde G(x, y) es el nuevo tono de gris del pixel (x, y) que corresponde al centro de
la mascara de m n puntos, I(x, y) es el tono de gris actual del pixel (x, y) y h es el
histograma normalizado de la mascara de mn. Luego, el centro es region de mn
-
xxxii
puntos es movido al pixel adyacente y se repite el procedimiento para cada punto de
la imagen. En la Figura 3.10 se presenta un algoritmo para implementar el metodo
de la Ecualizacion Local Clasica.
Figura 3.10: Algoritmo del metodo clasico de Ecualizacion Local
En las Figuras 3.11 y 3.12 se presentan los resultados obtenidos luego de aplicar
este metodo clasico a las dos imagenes con bajo contraste utilizadas como ejemplo
desde el captulo anterior. Como se puede apreciar facilmente en estas imagenes de
ejemplo, esta tecnica mejora el contraste de regiones pequenas, sin embrago adolece
de una deficiencia, no conserva el orden tonos de gris.
-
xxxiii
0 50 100 150 200 2500
50
100
150
200
250
Figura 3.11: Imagen obtenida aplicando Ecualizacion Local
0 50 100 150 200 2500
20
40
60
80
100
120
140
160
180
Figura 3.12: Imagen obtenida aplicando Ecualizacion Local
-
Captulo 4
Mejoramiento del Contraste va
Ecuaciones Diferenciales Parciales
El uso de ecuaciones diferenciales parciales y ordinarias (ODEs y PDEs) para Procesa-
miento de Imagenes ha llegado a ser un topico muy investigado en estos ultimos anos.
La idea basica es pensar en el Procesamiento de Imagenes en un dominio continuo
mas que en uno discreto y combinar esto con implementaciones numericas eficientes
[GS97].
Como se menciono en los captulos anteriores, la manera mas comun para mejorar
el contraste de una imagen es modificando su distribucion de tonos de gris. El algo-
ritmo que se describe en este captulo permite modificar la distribucion de los tonos
de gris y esta basado en la formulacion de una ecuacion diferencial de evolucion de la
forma
I(x, y, t)
t= F [I(x, y, t)] (4.0.1)
con la condicion inicial I(x, y, 0) = I0
donde I : RR [0, T R es la imagen evolucionante, F : R R es una funcion
dada que depende del algoritmo elegido, y la imagen I0 es la condicion inicial. La
xxxiv
-
xxxv
solucion I(x, y, t) de la ecuacion diferencial determina una familia monoparametrica
(dependientes de t) de imagenes procesadas, es decir, una secuencia conformada por
imagenes cuyo contraste mejora gradualmente.
4.1 Modificacion de la Distribucion de Tonos de
Gris
La siguiente ecuacion de evolucion de la imagen permite modificar la distribucion de
tonos de gris para mejorar el contraste de la misma [GS97]. Asumamos que la imagen
continua respecto de t, I : [0,M ] [0, N ] [0, [0, K], evoluciona de acuerdo
con
I(x, y, t)
t=
(
() ()I(x, y, t)
K
)
{(v, w) | I(v, w, t) I(x, y, t)} (4.1.2)
donde = [0,M ] [0, N ] y {} representa la medida del conjunto (o numero relativo
de pixels en el caso discreto).
Para la solucion en el estado estacionario tendremos
I(x, y)
t= 0
y por lo tanto, de la ecuacion 4.1.2, obtenemos
{(v, w) | I(v, w) I(x, y)} = () ()I(x, y)
K(4.1.3)
Para modificar la distribucion de tonos de gris en la imagen I0, haremos uso de la
siguiente ecuacion deducida de 4.1.2
I(x, y, t)
t= {(v, w) | I(v, w, t) < I(x, y, t)} ()
I(x, y, t)
K(4.1.4)
-
xxxvi
De 4.1.4 observamos que la velocidad de cambio en la imagen I depende de que tan
cercano este el valor de {(v, w) | I(v, w, t) < I(x, y, t)} al valor de ()I(x, y, t)
K;
es decir, si el primer termino es mayor que el segundo, la velocidad de cambio se
torna positiva por lo que el valor de I(x, y), para algun t, se incrementa; mien-
tras que este valor disminuira cuando la velocidad se torne negativa ({(v, w) |
I(v, w, t) < I(x, y, t)} < ()I(x, y, t)
K). Esto es debido a que el valor ideal de
{(v, w) | I(v, w, t) < I(x, y, t)} es ()I(x, y, t)
Kque es alcanzado en el estado esta-
cionario.
Sea I(x, y, t) el tono de gris del punto (x, y) en el tiempo t, entonces
{(v, w) | I(v, w, t) < I(x, y, t)} =
XI(x,y,t)(v, w, t) dvdw
Con esta notacion, la ecuacion 4.1.4 puede ser expresada como
I(x, y, t)
t=
XI(x,y,t)(v, w, t) dvdw ()
I(x, y, t)
K(4.1.5)
Para simplificar la notacion, normalizaremos I tal que este definida en [0, 1] [0, 1]
y tome valores en el rango [0, 1]. Esto se logra mediante un cambio de variables.
Empezaremos por normalizar los tonos de gris, es decir, el espectro de intensidades
posibles [0, K] se transformara a un espectro de [0, 1]. Sabemos que 0 I K, por
lo tanto 0 I/K 1; entonces
0 I 1, donde I = I/K
y la ecuacion 4.1.4 resultara
K(I(x, y, t))
t=
XI(x,y,t)(v, w, t) dv dw ()I(x, y, t) (4.1.6)
-
xxxvii
Figura 4.1: Esquema de la normalizacion en el espacio
El siguiente paso sera normalizar las coordenadas espaciales, esto es transformar
una imagen de dimensiones M N a una definida en [0, 1] [0, 1] (Ver Figura 4.1)
As, podemos obtener las siguientes relaciones
x =x
My y =
y
N
Para ser efectiva esta transformacion necesitamos de un factor de proporcion para
el elemento de area, dado por
x
x
x
yy
x
y
y
=dA
dA= ()
Reescribiendo la ecuacion 4.1.6 tenemos
K(I(x, y, t))
t=
X
I(x,y,t)(v, w, t) dv dw ()I(x, y, t)
K(I(xM, yN, t))
t=
X
I(xM,yN,t)(v, w, t) dv dw ()I(xM, yN, t)
K(I(xM, yN, t))
t=
X
I(xM,yN,t)(v, w, t)() dv dw ()I(xM, yN, t)
Sea G(x, y, t) = I(xM, yN, t), entonces la ecuacion anterior puede ser escrita como
K(G(x, y, t))
t= ()
XG(x,y,t)(v, w, t) dv dw ()G(x, y, t)
-
xxxviii
De acuerdo a esto la ecuacion 4.1.4 con el espectro de tonos de gris y coordenadas
espaciales normalizadas queda como sigue
K
()
G(x, y, t)
t=
XG(x,y,t)(v, w, t) dv dw G(x, y, t)
La ultima transformacion requerida para la normalizacion es respecto del tiempo;
para esto es necesario definir una constante C tal que t = tC. Entonces
G(x, y, t)
t=
G(x, y, t)
t
t
t= C
G(x, y, t)
t
En nuestro caso, C = ()/K. Con esto G(x, y, t) = G(x, y,()
Kt) = G(x, y, t).
Finalmente, la ecuacion 4.1.4 completamente normalizada, definida en [0, 1][0, 1]
y tomando valores en el rango [0, 1], es
G(x, y, t)
t=
XG(x,y,t)(v, w, t) dv dw G(x, y, t)
Con la intencion de facilitar la comprension de este captulo, de aqu en adelante
I(x, y, t) = G(x, y, t), ademas = . Por lo tanto, la ecuacion anterior resulta ser
I(x, y, t)
t=
XI(x,y,t)(v, w, t) dv dw I(x, y, t) (4.1.7)
donde I : [0, 1] [0, 1] [0, [0, 1].
Definicion 4.1 Una funcion medible y acotada I : [0, 1] [0, 1] [0, [0, 1]
se considerara solucion de 4.1.7 si, para casi todo punto (x, y) [0, 1]2, la funcion
I(x, y, ) es continua en [0,, It(x, y, ) existe en casi todas partes con respecto a t
y 4.1.7 se cumple casi en todas partes en [0, 1]2 [0,.
-
xxxix
Lema 4.1 Sea I(x, y, t) una solucion de 4.1.7. Sean (x, y), (v, w) [0, 1]2 tal que
I(x, y, ) y I(v, w, ) son continuas en [0,, It(x, y, t) y It(v, w, t) existen casi en
todas partes con respecto a t y 4.1.7 se cumple casi en todas partes en t. Supongamos
que I(x, y, 0) < I(v, w, 0), entonces
I(v, w, t) I(x, y, t) et(I(v, w, 0) I(x, y, 0)) (4.1.8)
para todo t 0.
Prueba
Sea > 0 y haciendo uso de nuestras suposiciones tenemos
d
dt
(
1
2ln (2 + (I(v, w, t) I(x, y, t))2)
)
= 1
2
2(I(v, w, t) I(x, y, t))
2 + (I(v, w, t) I(x, y, t))2(It(v, w, t) It(x, y, t))
= (I(v, w, t) I(x, y, t))
2 + (I(v, w, t) I(x, y, t))2(It(v, w, t) It(x, y, t))
= (I(v, w, t) I(x, y, t))
2 + (I(v, w, t) I(x, y, t))2
(
[0,1]2XI(v,w,t)(p, q) dp dq I(v, w, t)
)
(
[0,1]2XI(x,y,t)(p, q) dp dq I(x, y, t)
)
= (I(v, w, t) I(x, y, t))
2 + (I(v, w, t) I(x, y, t))2
[
[0,1]2
(
XI(v,w,t)(p, q)XI(x,y,t)(p, q))
dp dq (I(v, w, t) I(x, y, t))
]
=(I(v, w, t) I(x, y, t))2
2 + (I(v, w, t) I(x, y, t))2
[0,1]2
(
XI(v,w,t)(p, q)XI(x,y,t)(p, q))
dp dqI(v, w, t) I(x, y, t)
2 + (I(v, w, t) I(x, y, t))2
De acuerdo a la ultima expresion podemos decir que
d
dt
(
1
2(ln(2 + (I(v, w, t) I(x, y, t))2))
)
(I(v, w, t) I(x, y, t))2
2 + (I(v, w, t) I(x, y, t))2 1
-
xl
Por lo tanto
d
dt
(
1
2(ln(2 + (I(v, w, t) I(x, y, t))2))
)
1
Integrando ambos terminos tenemos
t
0
d
dt
(
1
2(ln(2 + (I(v, w, t) I(x, y, t))2))
)
dt t
01 dt
1
2(ln(2 + (I(v, w, t) I(x, y, t))2))
t
0 t
1
2
[
ln(2 + (I(v, w, t) I(x, y, t))2) ln(2 + (I(v, w, 0) I(x, y, 0))2)]
t
ln2 + (I(v, w, t) I(x, y, t))2
2 + (I(v, w, 0) I(x, y, 0))2 2t
ln2 + (I(v, w, t) I(x, y, t))2
2 + (I(v, w, 0) I(x, y, 0))2 2t
Aplicando antilogaritmo tenemos
2 + (I(v, w, t) I(x, y, t))2
2 + (I(v, w, 0) I(x, y, 0))2 e2t
2 + (I(v, w, t) I(x, y, t))2 e2t(2 + (I(v, w, 0) I(x, y, 0))2)
2 + (I(v, w, t) I(x, y, t))2 et
2 + (I(v, w, 0) I(x, y, 0))2
Y, cuando 0
(I(v, w, t) I(x, y, t))2 et
(I(v, w, 0) I(x, y, 0))2
por lo tanto se cumple que
|I(v, w, t) I(x, y, t)| et|I(v, w, 0) I(x, y, 0)|
Pero se sabe, por el enunciado del lema, que I(v, w, 0) > I(x, y, 0), en-
tonces
|I(v, w, t) I(x, y, t)| et(I(v, w, 0) I(x, y, 0)) (4.1.9)
-
xli
Para poder eliminar el valor absoluto presente en la desigualdad anterior,
necesitamos demostrar que I(v, w, t)I(x, y, t) > 0. Puesto que I(v, w, ),
I(x, y, ) son continuas en [0,, entonces I(v, w, t)I(x, y, t) tambien es
continua; esto significa que si I(v, w, 0) I(x, y, 0) > 0 y existe t tal que
I(v, w, t)I(x, y, t) 0, entonces existe t0 tal que I(v, w, t0)I(x, y, t0) =
0. Ahora veamos que ocurre cuando I(v, w, t) I(x, y, t) = 0, as tenemos
que
|I(v, w, t0) I(x, y, t0)| et0(I(v, w, 0) I(x, y, 0))
0 et0(I(v, w, 0) I(x, y, 0))
y, analogamente al caso anterior, esto resulta ser absurdo debido a que
I(v, w, 0) I(x, y, 0) > 0.
De lo expuesto anteriormente deducimos que, si I(v, w, 0) I(x, y, 0) > 0,
necesariamente I(v, w, t) I(x, y, t) > 0, y en base a esta conclusion
podemos eliminar el valor absoluto en la desigualdad 4.1.9 sin alterarla.
As tenemos que
I(v, w, t) I(x, y, t) et(I(v, w, 0) I(x, y, 0)).
Lema 4.2 Sea I una imagen, es decir, una funcion acotada y medible, definida en
= [0, 1] [0, 1] con valores en el rango [a, b], 0 a < b 1. Si la acumulacion
relativa (funcion de distribucion) de I es continua, entonces tenemos que
{(x, y) | I(x, y) = } = 0 (4.1.10)
para todo (x, y) y todo [a, b].
-
xlii
Prueba
Sea la funcion de distribucion de I, H, continua en [a, b], es decir, >
0, tal que |H() H()| < , si | | < para todo [a, b].
Sabemos que
H() ={(v, w) | I(v, w) < }
()(4.1.11)
y por lo tanto,
H(+) ={(v, w) | I(v, w) < +}
()
={{(v, w) | I(v, w) < } {(v, w) | I(v, w) < +}}
()(4.1.12)
Ahora, restando 4.1.11 de 4.1.12 obtenemos
H(+)H() ={(v, w) | I(v, w) < +}
()< ,
entonces
{(v, w) | I(v, w) = } {(v, w) | I(v, w) < +}
{(v, w) | I(v, w) = } < {(v, w) | I(v, w) < +}
{(v, w) | I(v, w) = }
() I(x, y, t), lo que es una contradiccion. En-
tonces, necesariamente debe ocurrir que I(p, q, 0) I(x, y, 0).
Aplicando el concepto de medida a las inclusiones en 4.1.14 tenemos que
{(v, w) | I(v, w, 0) < I(x, y, 0)} {(v, w) | I(v, w, t) < I(x, y, t)}
{(v, w) | I(v, w, t) < I(x, y, t)} {(v, w) | I(v, w, 0) I(x, y, 0)}
pero {(v, w) | I(v, w, 0) I(x, y, 0)} = {(v, w | I(v, w, 0) < I(x, y, 0))}+
{(v, w) | I(v, w, 0) = I(x, y, 0)} y por el Lema 4.2 sabemos que {(v, w) |
I(v, w, 0) = I(x, y, 0)} = 0, por lo tanto
{(v, w) | I(v, w, 0) < I(x, y, 0)} {(v, w) | I(v, w, t) < I(x, y, t)}
{(v, w) | I(v, w, t) < I(x, y, t)} {(v, w) | I(v, w, 0) < I(x, y, 0)}
-
xlv
lo que nos permite concluir que {(v, w) | I(v, w, 0) < I(x, y, 0)} =
{(v, w) | I(v, w, t) < I(x, y, t)}.
Segun 4.1.13, {(v, w) | I(v, w, t) < I(x, y, t)} se mantiene constante en el
tiempo, por lo tanto la ecuacion se convierte en una familia de ecuaciones
diferenciales ordinarias, una para cada punto (x, y). Entonces teniendo
I(x, y, t)
t= {(v, w) | I(v, w, t) < I(x, y, t)} I(x, y, t),
y F0(x, y) = {(v, w) | I(v, w, t) < I(x, y, t)} que es independiente de t,
la ecuacion 4.1.7 puede ser reescrita como
dI(x, y, t)
dt= F0(x, y) I(x, y, t)
Deduciendo la solucion tenemos
dI(x, y, t)
F0(x, y) I(x, y, t)= dt
dI(x, y, t)
F0(x, y) I(x, y, t)=
dt,
como F0 es una constante, podemos restarla de I(x, y, t) sin alterar la
solucion, entonces tenemos
d(I(x, y, t)F0(x, y))
F0(x, y) I(x, y, t)=
dt
d(F0(x, y) I(x, y, t))
F0(x, y) I(x, y, t)=
dt
ln |F0(x, y) I(x, y, t)| = t+ Const, ysiConst = lnC
ln |F0(x, y) I(x, y, t)| = t lnC
ln |F0(x, y) I(x, y, t)| = t+ lnC
ln |F0(x, y) I(x, y, t)| = ln et + lnC
-
xlvi
Aplicando antilogaritmo a ambos miembros resulta
|F0(x, y) I(x, y, t)| = Cet
El valor absoluto nos dara dos soluciones, una para cada caso de los sigu-
ientes :
(i) Primer Caso
F0(x, y) I(x, y, t) = etC
I(x, y, t) = F0(x, y) etC (4.1.15)
Si t = 0 tenemos que
I(x, y, 0) = F0(x, y) e0C
C = F0(x, y) I(x, y, 0) (4.1.16)
Entonces reemplazando 4.1.16 en 4.1.15 obtenemos
I(x, y, t) = F0(x, y) et(F0(x, y) I(x, y, 0))
I(x, y, t) = F0(x, y) + etI(x, y, 0) etF0(x, y)
I(x, y, t) = etI(x, y, 0) + (1 et)F0(x, y)
(ii) Segundo Caso
I(x, y, t)F0(x, y) = etC
I(x, y, t) = etC + F0(x, y) (4.1.17)
Si t = 0 tenemos que
I(x, y, 0) = e0C + F0(x, y)
C = I(x, y, 0)F0(x, y) (4.1.18)
-
xlvii
Entonces reemplazando 4.1.18 en 4.1.17 obtenemos
I(x, y, t) = et(I(x, y, 0)F0(x, y)) + F0(x, y)
I(x, y, t) = etI(x, y, 0) etF0(x, y) + F0(x, y)
I(x, y, t) = etI(x, y, 0) + (1 et)F0(x, y)
Como (i) y (ii) tienen soluciones identicas, entonces la solucion final es
I(x, y, t) = etI(x, y, 0) + (1 et)F0(x, y) (4.1.19)
la cual tambien satisface que {(v, w) | I(v, w, t) = } = 0 como se
demostrara en el Lema 4.4.
Ahora probaremos la unicidad de la solucion. Sea I0 la imagen inicial e
I(x, y, t), I(x, y, t) dos soluciones de 4.1.7. Sabiendo que
I(x, y, t) = etI(x, y, 0) + (1 et)F0(x, y)
I(x, y, t) = etI(x, y, 0) + (1 et)F0(x, y)
tenemos que I(x, y, t)I(x, y, t) = et(I(x, y, 0)I(x, y, 0)), pero I(x, y, 0) =
I(x, y, 0) = I0(x, y). Segun esto se deduce que
I(x, y, t) = I(x, y, t)
con lo que queda demostrada la unicidad de la solucion.
Lema 4.3 La solucion obtenida es continua en t para todo (x, y) fijo, por lo tanto
satisface
I(x, y, t) < I(v, w, t) I(x, y, 0) < I(v, w, 0) (4.1.20)
para todo t > 0 y para todo (x, y),(v, w) [0, 1]2.
-
xlviii
Prueba
Sea I(x, y, t) < (I, v, w, t), entonces I(x, y, t)I(v, w, t) < 0. Segun 4.1.19
sabemos que I(x, y, t) = etI(x, y, 0)+(1et)F0(x, y) y, analogamente,
I(v, w, t) = etI(v, w, 0) + (1 et)F0(v, w). Entonces
etI(x, y, 0) + (1 et)F0(x, y) [etI(v, w, 0) + (1 et)F0(v, w)] < 0
etI(x, y, 0) + (1 et)F0(x, y) etI(v, w, 0) (1 et)F0(v, w) < 0
et(I(x, y, 0) I(v, w, 0)) + (1 et)(F0(x, y)F0(v, w)) < 0(4.1.21)
donde et > 0 y (1 et) 0 para todo t > 0. De aqu de-
ducimos que para que la expresion 4.1.21 sea negativa es necesario
que (I(x, y, 0) I(v, w, 0)) < 0, ya que esto origina que (F0(x, y)
F0(v, w)) < 0. Esta afirmacion puede expresarse graficamente para
una imagen bidimensional mediante la Figura 4.3.
Figura 4.3: Representacion Unidimensional de F0
Por lor tanto, si I(x, y, t) < I(v, w, t) entonces necesariamente I(x, y, 0) 0 y (1 et) 0 para todo t > 0. Sabemos que
I(x, y, 0) I(v, w, 0) < 0 y por consiguiente F0(x, y)F0(v, w) < 0.
Por lo tanto I(x, y, t) I(v, w, t) < 0. De lo anterior deducimos que
si I(x, y, 0) < I(v, w, 0), entonces I(x, y, t) < I(v, w, t).
De acuerdo al lema anterior podemos concluir que se conserva el orden de los
tonos de gris.
Cuando t se alcanza el estado estacionario
limt
I(x, y, t) = I(x, y,) = IE(x, y) = F0(x, y) (4.1.22)
F0(x, y) es la solucion estacionaria y por el Lema 4.4, el histograma de esta imagen
es constante y la distribucion es uniforme. Notemos que la ecuacion 4.1.19 mejora
progresivamente el contraste de la imagen, hasta alcanzar un estado estacionario.
Esto constituye una ventaja puesto que los estados intermedios que representan la
evolucion de la imagen estan disponibles.
-
l
Lema 4.4 Sea I0 una imagen, es decir, una funcion acotada y medible, definida en
= [0, 1] [0, 1] con valores en el rango [a, b], 0 a < b 1 tal que su funcion de
distribucion es continua. Si I0 es la condicion inicial, el histograma de la imagen en
el estado estacionario es constante.
Prueba
Por definicion sabemos que H(I(x, y)) ={(v, w) | I(v, w) < I(x, y)}
().
Por analoga podemos definir
H0(I(x, y)) = H(I(x, y, 0)) ={(v, w) | I(v, w, 0) < I(x, y, 0)}
()
y ademas,
Ht(I(x, y)) = H(I(x, y, t)) ={(v, w) | I(v, w, t) < I(x, y, t)}
()
En la prueba del Teorema 4.1 demostramos que se cumple que
{(v, w) | I(v, w, 0) < I(x, y, 0)} = {(v, w) | I(v, w, t) < I(x, y, t)}
para todo t > 0. Por lo tanto H0(I(x, y)) = Ht(I(x, y)) y, como la funcion
de distribucion de I0, H0, es continua (por el enunciado del lema), entonces
Ht permanece continua en el tiempo. De acuerdo con el Lema 4.2, si la
funcion de distribucion de una imagen I es continua, entonces
{(v, w) | I(v, w) = } = 0
para todo [0, 1]. Como consecuencia podemos afirmar que
{(v, w) | I(v, w, t) = } = 0 (4.1.23)
-
li
para todo [0, 1] y todo t > 0. Ahora sean 1, 2 [0, 1], talque
1 < 2 y sea I la imagen en el estado estacionario independiente del
tiempo.
= {(v, w) | I(v, w) < 1} {(v, w) | 1 I(v, w) 2}
{(v, w) | I(v, w) > 2}
() = {(v, w) | I(v, w) < 1}+ {(v, w) | 1 I(v, w) 2}
+{(v, w) | I(v, w) > 2} (4.1.24)
Tomando en cuenta la ecuacion 4.1.23 tenemos que
{(v, w) | I(v, w) > 2} = {(v, w) | I(v, w) 2} {(v, w) | I(v, w) = 2}
= {(v, w) | I(v, w) 2}
As podramos escribir 4.1.24 como
() = {(v, w) | I(v, w) < 1}+ {(v, w) | 1 I(v, w) 2}
+{(v, w) | I(v, w) 2}
= () {(v, w) | I(v, w) 1}+ {(v, w) | 1 I(v, w) 2}
+{(v, w) | I(v, w) 2}
= () (() ()1) + {(v, w) | 1 I(v, w) 2}
+(() ()2)
()2 = ()1 + {(v, w) | 1 I(v, w) 2}
Por lo tanto
{(v, w) | 1 I(v, w) 2} = ()(2 1)
-
lii
de donde se deduce que el histograma de la imagen en el estado esta-
cionario es constante.
4.2 Algoritmo y Resultados
En la Figura 4.4 se presenta un algoritmo que permite implementar el metodo para
el mejoramiento de contraste de imagenes desarrollado en la seccion anterior.
Figura 4.4: Algoritmo del metodo basado en ecuaciones diferenciales
Dado que la solucion explcita obtenida para la ecuacion 4.1.7 es alcanzada con-
siderando una imagen normalizada, es decir, una imagen de dimensiones 1 1 con
tonos de gris que varan entre 0 y 1; surge la necesidad de revertir esta normalizacion
para poder aplicar el metodo a imagenes de dimension arbitraria con tonos de gris
que varen en un espectro mas amplio.
Otro factor que debe considerarse es el tiempo; teoricamente, alcanzamos el estado
estacionario cuando t , continuamente. Para efectos de la implementacion, el
tiempo es un parametro con paso de variacion 0.01. En los resultados presentados en
-
liii
esta seccion, observaremos que, con tal variacion de tiempo, se requieren menos de
cinco iteraciones para alcanzar el estado estacionario.
Con relativa facilidad, se comprueba que F0(x, y) es la acumulacion H de la ima-
gen, es decir, el numero de pixels con un tono de gris menor al del pixel (x, y).
Ahora algunas palabras acerca de la complejidad del algoritmo. Cada iteracion,
para encontrar una de las imagenes de la secuencia, tiene una complejidad de O(M
N), donde M N son las dimensiones de la imagen original. Por lo tanto, la com-
plejidad del algoritmo propuesto es O(M N), la cual es la mnima esperada para
cualquier procedimiento de procesamiento de imagenes que trabaja en la imagen
global.
A continuacion se presentan los resultados obtenidos luego de aplicar el metodo
propuesto en este captulo a una imagen medica con bajo contraste. Se presenta la im-
agen original (Figura 4.5) ademas de la secuencia de imagenes intermedias (Figura 4.6)
incluyendo la imagen en el estado estacionario (Figura 4.7).
Figura 4.5: Imagen Original
-
liv
Figura 4.6: Imagenes intermedias obtenidas en cada una de las iteraciones del algo-ritmo Mejoramiento del Contraste va Ecuaciones Diferenciales Parciales
Los resultados obtenidos al aplicar el metodo basado en ecuaciones diferenciales
brindan al especialista un conjunto de imagenes intermedias, ademas de la imagen en
el estado estacionario. Entre estas, el puede elegir la o las mas adecuadas dependiendo
de sus necesidades. Cada imagen de la secuencia es obtenida en cada una de las
iteraciones del algoritmo propuesto en la seccion anterior, dependiendo del parametro
de tiempo; cada una de ellas representa un nivel en la evolucion de la imagen.
-
lv
Figura 4.7: Imagen en el estado estacionario obtenida con el algoritmo Mejo-ramiento del Contraste va Ecuaciones Diferenciales Parciales
-
Captulo 5
Mejoramiento del Contraste va
Ecualizacion Local
En el captulo anterior desarrollamos un metodo alternativo para mejorar el contraste
de imagenes basado en una ecuacion de evolucion bajo la cual se mejora gradualmente
el constraste. Una caracterstica importante de este metodo es que opera globalmente
sobre la imagen y se obtienen resultados lo suficientemente efectivos para un analisis
posterior. Sin embargo, debido al hecho de que en Procesamiento de Imagenes existe
una gran variedad de aplicaciones que requieren en muchos casos un procesamiento
particular de las imagenes, surge la alternativa de trabajar con tecnicas locales. Por
lo tanto, en este captulo se presenta un metodo que trabaja con operaciones locales
y permite mejorar notablemente el contraste de imagenes en escala de grises.
La modificacion de la distribucion de tonos de gris es un caso particular de una
transformacion homomorfica. Sea R2 el dominio de la imagen, e I :
[a, b] la imagen dada (con bajo contraste). Sea p : [a, b] [c, d] una funcion dada,
que asumimos creciente. La imagen G := p(I(x, y)) es llamada una transformacion
homomorfica de I. El caso particular de la distribucion uniforme corresponde a
lvi
-
lvii
seleccionar p como la funcion de distribucion de probabilidades H de I :
H() ={(v, w) | I(v, w) < }
()(5.0.1)
Si asumimos que H es estrictamente creciente, entonces el cambio de variables
G(x, y) = (d c)H(I(x, y)) + c,
produce una nueva imagen cuya funcion de distribucion es uniforme en [c, d] c, d
R, c < d.
Segun la escuela de Morfologa Matematica, las operaciones basicas sobre imagenes
deben ser invariantes con respecto a cambios de contraste, es decir, transformaciones
homomorficas. Como una consecuencia se deduce que la informacion basica de una
imagen esta contenida en la familia de sus sombras binarias o conjuntos de nivel, esto
es, en la familia de conjuntos de la forma
XI = {(x, y) | I(x, y) } (5.0.2)
para todos los valores de en el rango de I. Observamos que bajo condiciones gen-
erales, una imagen puede ser reconstruida a partir de sus conjuntos de nivel mediante
la formula I(x, y) = sup{ | (x, y) XI}. Si p es una funcion estrictamente cre-
ciente, la transformacion G = p(I) no modifica la familia de conjuntos de nivel de I,
solamente cambia su ndice en el sentido que
Xp()G = XI, para todo
El metodo que se desarrolla en este captulo intenta cumplir con este principio
basico debido principalmente a que gran parte de la investigacion en Procesamiento
de Imagenes esta basada en el hecho de asumir que regiones con tonos de gris similares,
-
lviii
las cuales estan topologicamente conectadas, pertenecen al mismo objeto fsico en el
mundo real. De acuerdo a esto, es natural asumir que las formas en una imagen
dada estan representadas por sus conjuntos de nivel.
Nuestro objetivo en este captulo es presentar operaciones de modificacion local del
histograma que preserven la familia de conjuntos de nivel de la imagen, y as, segun la
escuela de morfologa, preservar las formas. Sin embargo, para llevar a la practica el
metodo que ha continuacion se desarrolla, es necesario comprender y aplicar diversos
conceptos de Topologa Digital, los cuales pueden ser encontrados en el Apendice A.
5.1 Componentes Conexos
Nuestra principal restriccion es mantener el mismo mapa topografico, es decir, mante-
ner la misma familia de conjuntos de nivel de I pero teniendo la libertad de asignarles
un conveniente tono de gris. Para ser mas precisos daremos algunas definiciones.
Definicion 5.1 Sea X un espacio topologico. Diremos que X es conexo si no puede
ser expresado como la union de dos conjuntos disjuntos no vacos cerrados (abiertos).
Un subconjunto C de X es llamado un componente conexo, si C es un subconjunto
maximal de X, es decir, C es conexo y para cualquier subconjunto conexo C1 de X
tal que C C1, se tiene que C1 = C.
Necesitamos la siguiente observacion que se deduce de la definicion anterior: Dos
componentes conexos de un espacio topologico o son disjuntos o coinciden; por lo
tanto, el espacio topologico puede ser considerado como la union disjunta de sus
componentes conexos.
-
lix
Existen mucha nociones de conectividad para un espacio topologico. Una de las
mas intuitivas es la nocion de conectividad mediante arcos. Un espacio topologico
X es conexo por arcos si cualquier par de puntos (x, y), (v, w) de X pueden ser
unidos mediante un arco, es decir, existe una funcion continua : [0, 1] X tal que
(0) = (x, y) y (1) = (v, w).
Definicion 5.2 Sea I : [a, b] una imagen dada. Una seccion del mapa to-
pografico de I es un conjunto de la forma
X1,2 =
[1,2]
C (5.1.3)
donde C es un componente conexo del conjunto {(x, y) | I(x, y) = } tal que para
cada , [1, 2], el conjunto
X, =
[,]
C,
tambien es conexo.
La Figura 5.1 ilustra la definicion anterior.
Definicion 5.3 Sea I : [a, b] una imagen dada y sea {X | [a, b]} la familia
de sus conjuntos de nivel. Diremos que la funcion p : R R es un cambio de
contraste local si se cumplen las siguientes propiedades:
P1 : p es continua en el siguiente sentido
p((v, w), ) p((x, y), ), cuando (v, w) (x, y), , (v, w) X ,
(x, y) C siendo C un componente conexo de {(x, y) | I(x, y) = }
-
lx
Figura 5.1: Representacion esquematica de tres secciones diferentes de un mapatopografico
P2 : p((x, y), ) es una funcion creciente de para todo (x, y) , es decir si <
entonces p() < p().
P3 : p((x, y), ) = p((v, w), ) para todo (x, y), (v, w) en el mismo componente conexo
de {(x, y) | I(x, y) = } R.
P4 : Sea un conjunto conexo con I() no reducido a un punto. Sea G(x, y) =
p((x, y), I(x, y)). Entonces G() no es reducido a un punto.
P5 : Sea X1,2 =
[1,2]C una seccion del mapa topografico de I y sea (x, y)
C1 , (v, w) C2, entonces p((x, y), 1) < p((x, y), 2).
Definicion 5.4 Sea I : [a, b] una imagen dada. Diremos que G es un repre-
sentativo local de I, si existe algun cambio del contraste local p tal que G(x, y) =
p((x, y), I(x, y)),(x, y) .
En la siguiente proposicion se recogen algunas propiedades que se deducen inme-
diatamenfte de las definiciones anteriores.
-
lxi
Proposicion 5.1 Sea I : [a, b] y sea G(x, y) = p((x, y), I(x, y)), (x, y) , un
representativo de I, entonces
1. G(x, y) = sup{p((x, y), ) | (x, y) XI, (x, y) }. Tenemos que (x, y)
XI si y solo si (x, y) Xp((x,y),)G, (x, y) , R.
Prueba
Sea (x, y) XI, entonces, I(x, y) . Por P2, p((x, y), I(x, y))
p((x, y), ), por lo tanto G(x, y) p((x, y), ). De aqu deduci-
mos que (x, y) X(p(x,y),)G.
Tomemos (x, y) Xp((x,y),)G, es decir G(x, y) p((x, y), ).
Ademas G(x, y) = p((x, y), I(x, y)), por lo tanto p((x, y), I(x, y))
p((x, y), ). Por P2 tenemos I(x, y) . Por lo tanto (x, y)
XI
2. G es una funcion continua.
Prueba
Es una consecuencia de P1 puesto que G(x, y) = p((x, y), I(x, y))
y por dicha propiedad conocemos que p((x, y), ) es continua, por lo
tanto G(x, y) tambien lo es.
3. Sean , dos componentes conexos definidos en {(x, y) | G(x, y) = } y
{(x, y) | I(x, y) = } respectivamente, los cuales contienen al punto (x, y),
ademas, = p((x, y), ). Entonces = .
-
lxii
Prueba
Si (x, y), (v, w) es decir I(x, y) = I(v, w) = , entonces por
P3 p((x, y), ) = p((v, w), ) = , y puesto que es conexo,
(x, y), (v, w) . Por lo tanto
Supongamos que 6 , tomemos (x, y), (v, w) ,tal que I(x, y) 6=
I(v, w), es decir consideremos (x, y) y (v, w) / , entonces
I(x, y) = inf I(p, q)(p,q) < sup I(p, q)(p,q),
por lo tanto I() no es reducido a un punto, ademas por P4
G() tampoco sera reducido a un punto, pero esto es una con-
tradiccion puesto que es un componente conexo definido en
{(x, y) | G(x, y) = }. Por lo tanto .
De las anteriores demostraciones tenemos que = .
4. Sea X1,2 una seccion del mapa topografico de I. Entonces, tomando 1 =
p(., 1) y 2 = p(., 2), X1,2 es tambien una seccion del mapa topografico de
G.
Prueba
Sea X1,2 =
[1,2] C una seccion del mapa topografico de I. Sea
(x, y) C, donde C es un componente conexo de {(v, w) | I(v, w) =
} y = p((x, y), ). Considerando P3, C coincide con los compo-
nentes conexos C = {(v, w) | G(v, w) = }. Usando P5 podemos
-
lxiii
afirmar que { | [1, 2]} = [1, 2]; por lo tanto
X1,2I =
[1,2]
C = X1,2G (5.1.4)
entonces, X1,2 es una seccion del mapa topografico de G.
La proposicion anterior puede ser explicada como que el conjunto de objetos
contenidos en I es el mismo que el conjunto de objetos contenidos en G, si enten-
demos los objetos de I como los componentes conexos de los conjuntos de nivel
{(x, y) | I(x, y) < }, < , y respectivamente para G.
5.2 Mejoramiento del Contraste Preservando For-
mas
Ahora podemos precisar la principal interrogante que queremos resolver: Cual es el
mejor representativo local G de I cuando el objetivo es realizar un mejoramiento del
contraste mientras se preservan los componentes conexos (y conjuntos de nivel). Bus-
camos que la funcion de distribucion en todos los componentes conexos del conjunto
{(x, y) | 1 G(x, y) < 2} sea uniforme en el rango [1, 2], para todo 1, 2 R y
1 < 2.
Sin perder generalidad, asumimos que I : [0, 1], donde = [0, 1] [0, 1].
Necesitamos asumir que H, la funcion de distribucion de probabilidades de I, es
continua y creciente. Por lo tanto segun Lema 5.1, tenemos que
{(x, y) | I(x, y) = } = 0 (5.2.5)
para todo [0, 1]. Esta condicion es puramente teorica y no necesariamente debe
cumplirse para casos practicos.
-
lxiv
Lema 5.1 Sea I una imagen, es decir, una funcion acotada y medible, definida en
[0, 1] [0, 1] con valores en el rango [a, b], 0 a < b 1. Si la distribucion de I
es uniforme, es decir su acumulacion relativa (funcion de distribucion) es continua,
entonces tenemos que
{(x, y) | I0(x, y) = } = 0 (5.2.6)
para todo (x, y) [0, 1] [0, 1] y todo [a, b].
Prueba
Sea la funcion de distribucion de I, H continua, es decir, > 0, tal
que |H() H()| < , si | | < , para todo , R. Sabemos
que
H() ={(v, w) | I(v, w) < }
()(5.2.7)
y por lo tanto,
H(+) ={(v, w) | I(v, w) < +}
()
={{(v, w) | I(v, w) < } {(v, w) | I(v, w) < +}}
()(5.2.8)
Ahora, restando 5.2.7 de 5.2.8 obtenemos
H(+)H() ={(v, w) | I(v, w) < +}
()< ,
entonces
{(v, w) | I(v, w) = }
() b. Consideremos
{(v, w) | I(v, w) < } = (1) + {(v, w) | I2(v, w) < }
dividamos ambos miembros entre ()
{(v, w) | I(v, w) < }
()=
(1)
()+
{(v, w) | I2(v, w) < }
()
{(v, w) | I(v, w) < }
()=
(1)
()+
{(v, w) | I2(v, w) < }
(2)
(2)
()
Considerando queH() ={(v, w) | I(v, w) < }
(),y 5.2.13 con 5.2.14
tenemos
a
c a=
baca
(())
()+H2()
cbca
(())
()
=b a
c a+H2()
cbca
(())
()
b
c a= H2()
c b
c a b
c b= H2()
-
lxxi
Por lo tanto I2 tiene distribucion uniforme en [b, c.
Considerando (i) y (ii) se demuestra que I1 y I2 tienen distribucion
uniforme.
En base a la proporcion respecto al rango de tonos de gris en el que
varan I1 e I2 consideremos
(1)
(1) + (2)=
b a
c a,
(2)
(1) + (2)=
c b
c a(5.2.15)
Al igual que en el caso anterior tenemos dos situaciones
(i) Si tenemos [a, b, entonces
{(x, y) | I(x, y) } = {(x, y) | I1(x, y) }
{(x, y) | I(x, y) } = {(x, y) | I1(x, y) }
{(x, y) | I(x, y) }
(1) + (2)=
{(x, y) | I1(x, y) }
(1) + (2)
={(x, y) | I1(x, y) 1}
(1)
(1)
(1) + (2)
= H1()(1)
(1) + (2)
Dado que I1 tiene distribucion uniforme en [a, b, tenemos
{(x, y) | I(x, y) }
(1) + (2)=
a
b a
(
(1)
(1) + (2)
)
y usando la condicion dada en 5.2.15
{(x, y) | I(x, y) }
(1) + (2)=
a
b a
(
b a
c a
)
H() = a
c a(5.2.16)
-
lxxii
(ii) Veamos ahora el siguiente caso, es decir, cuando tomamos
[a, c. Aqu tenemos
{(x, y) | I(x, y) } = 1 {(x, y) | I2(x, y) }
{(x, y) | I(x, y) } = (1) + {(x, y) | I2(x, y) }
{(x, y) | I(x, y) 2}
(1) + (2)=
(1)
(1) + (2)+
{(x, y) | I2(x, y) }
(1) + (2)
=(1)
(1) + (2)+
{(x, y) | I2(x, y) }
(2)
(2)
(1) + (2)
=(1)
(1) + (2)+H2()
(2)
(1) + (2)
Analogamente al caso anterior, I2 tiene distribucion uniforme en
[b, c y podemos deducir que
{(x, y) | I(x, y) }
(1) + (2)=
(1)
(1) + (2)+
a
c b
(
(2)
(1) + (2)
)
y aplicando las condiciones establecidas en el enunciado del lema,
tenemos
{(x, y) | I(x, y) }
(1) + (2)=
b a
c a+
b
c b
(
c b
c a
)
= a
c a
H() = a
c a(5.2.17)
De i) y (ii) concluimos que I tiene distribucion uniforme en [a, c.
-
lxxiii
Lema 5.4 Si p es una funcion estrictamente creciente la transformacion G = P (I)
no modifica la familia de conjuntos de nivel de I, solo modifica su ndice en el sentido
que
Xp()G = XI
para todo [0, 1]
Prueba
Sea (v, w) XI, entonces I(v, w) , y , I(v, w) 0. Ahora
calculamos
p(I(v, w)) p() =
(
{(r, s) | I(r, s) < I(v, w)}
()(b a) + a
)
(
{(r, s) | I(r, s) < }
()(b a) + a
)
=b a
()({(r, s) | I(r, s) < I(v, w)}
{(r, s) | I(r, s) < })
De la ecuacion anterior podemos observar que la expresion entre
parentesis es mayor o igual que 0 puesto que I(v, w) , entonces
tenemos que p(I(v, w)) p() 0, lo que implica que p(I(v, w))
p(), pero como p(I(v, w)) = G(v, w) se tiene p(I(v, w)) p().
Por lo tanto (v, w) Xp()G. Lo anterior nos permite deducir que
XI Xp()G.
-
lxxiv
Sea (v, w) Xp()G, por lo tanto tenemos que G(v, w) p(), en-
tonces G(v, w) p() 0. Analicemos esta diferencia
G(v, w) p() =
(
{(r, s) | I(r, s) < I(v, w)}
()(b a) + a
)
(
{(r, s) | I(r, s) < }
()(b a) + a
)
=b a
()({(r, s) | I(r, s) < I(v, w)}
{(r, s) | I(r, s) < })
Pero comoG(v, w)p() 0, ({(r, s) | I(r, s) < I(v, w)}{(r, s) |
I(r, s) < }) 0, lo que implica que I(v, w) . Por lo tanto
(v, w) XI, de lo que deducimos que Xp()G XI.
De las dos pruebas anteriores deducimos claramente que XI = Xp()G.
Teorema 5.1 Sea Ii1 una imagen con distribucion uniforme, Hi1. Entonces los
componentes conexos de los conjuntos de la forma {(v, w) | Ii(v, w) < } donde
, {i,j : j = 0, . . . , 2i}, < , de la imagen Ii tienen distribucion uniforme.
Prueba
1. Sean O1, O2 dos conjuntos tal que O1 O2 = , I1 : O1 [a, b,
I2 : O2 [b, c. I : O1 O2 [a, c]. Por Lema 5.3 sabemos que
si I tiene distribucion uniforme, entonces I1, I2 tienen distribucion
uniforme en [a, b y [b, c respectivamente.
-
lxxv
2. Sean O1, O2 dos conjuntos tal que O1 O2 = , I1 : O1 [a, b, I2 :
O2 [a, b. Por Lema 5.2 desmostramos que si la distribucion de
I es uniforme, entonces la distribucion de I1, I2 tambien es uniforme
en [a, b.
Los lemas anteriormente mencionados nos permiten demostrar que si
una imagen I : [a, b] tiene distribucion uniforme, entonces todos
los componentes conexos del conjunto {(v, w) | I(v, w) < }, ,
[a, b], < , tienen tambien distribucion uniforme.
3. SeaOi1j;r un componente conexo del conjuntoOi1jy ademasOi1j =
Oi,j . Sea I : Oi1j;r [a, b] que tiene una distribucion uniforme en
[a, b] y G : Oij;r [a, b], tal que Oi1j;r = Oij;r y G(x, y) = p(I(x, y))
donde
p(I(x, y)) ={(v, w) | I(v, w) < I(x, y)}
(Oi,j;r)(b a) + a
entonces G tiene distribucion uniforme en [a, b]. Segun Lema 5.4
sabemos que los conjuntos de nivel se mantienen despues del proce-
samiento , es decir
XI = Xp()G (5.2.18)
para todo [a, b] donde = I(x, y) y p() = p(I(x, y)).
Puesto que Oij;r = Oi1j;r podemos decir que
{(v, w) | I(v, w) < I(x, y)} {(v, w) | I(v, w) I(x, y)}
= {(v, w) | G(v, w) < p(I(x, y))}
{(v, w) | I(v, w) p(I(x, y))}
-
lxxvi
{(v, w) | I(v, w) < I(x, y)} XI = {(v, w) | G(v, w) < p(I(x, y))}
Xp(I(x,y))G
pero por 5.2.18 tenemos que
{(v, w) | I(v, w) < p(I(x, y))} = {(v, w) | G(v, w) < p(I(x, y))}
{(v, w) | I(v, w) < p(I(x, y))} = {(v, w) | G(v, w) < p(I(x, y))}
dividiendo entre () obtenemos
{(v, w) | I(v, w) < p(I(x, y))}
()=
{(v, w){(v, w) | I(v, w) < p(I(x, y))}
()
lo que corresponde a la definicion de H, por lo tanto
H(I(x, y)) = H(p(I(x, y)))
De lo anterior, podemos concluir que si I tiene distribucion uniforme
en [a, b], entonces G tambien tiene distribucion uniforme.
Ademas por los Lemas 5.2 y 5.3 es facilmente demostrable que la distribucion de Ii
tambien es uniforme.
Sea Oij;1 y Oij;2 dos componentes conexos del conjunto Oij tal que Oij = Oij;1
Oij;2 e I1 : Oij;1 [a, b, I2 : Oij;2 [a, b, tienen distribucion uniforme
en [a, b. Segun Lema 5.2 podemos afirmar que I : Oi,j [a, b] tiene una
distribucion uniforme en [a, b].
SeaOij y O
ij dos conjuntos diadicos de tal que = O
ijO
ij y I1 : O
ij [a, b,
I2 : O
ij [b, c, tienen distribucion uniforme en [a, b y [b, c respectivamente.
-
lxxvii
Segun Lema 5.3 podemos afirmar que I : [a, c] tiene distribucion uniforme
en [a, c].
Teorema 5.2 Cuando i converge a una funcion If que tiene una distribucion
uniforme en todos los componentes conexos de todos los conjuntos diadicos de la forma
{(v, w) | If (v, w) < } para todo , [0, 1], < .
Prueba
Sea Ii(x, y) [i,j, i,j+1, dividiendo el rango en dos segmentos iguales
tenemos [i,j , i+1,2j+1 y [i+1,2j+1, i,j+1
(i) Si Ii(x, y) [i,j, i+1,2j+1, entonces Ii+1(x, y) [i+1,2j , i+1,2j+1
|i+12j+1 i,j| =2j + 1
2i+1
j
2i=
1
2i+1
(ii) Si Ii(x, y) [i+1,2j+1, i,j+1, entonces Ii+1(x, y) [i+1,2j+1, i+1,2j+2
|i+1,2j+2 i+1,2j+1| =2j + 2
2i+1
2j + 1
2i+1=
1
2i+1
De (i) y (ii) podemos concluir que
|Ii(x, y) Ii+1(x, y)| 1
2i+1(x, y) (5.2.19)
Ahora, dado que
IN = I1 I0 + I2 I1 + I3 I2 + I4 I3 + . . .+ IN IN1 + I0
IN =N
i=1
(Ii Ii1) + I0
y que la serie en lado derecho es absolutamiente convergente, entonces
IN converge absolutamente y uniformemente a alguna funcion continua
If : [0, 1].
-
lxxviii
Sabemos que
{(x, y) | Ii(x, y) k,j} = {(x, y) | Ik(x, y) k,j}, i k (5.2.20)
En realidad, ya que IN If tenemos que
IN If <
IN < If + , > 0
Sea (v, w) {(x, y) | If (x, y) }, entonces
If (v, w) (5.2.21)
ademas
IN(v, w) < If (v, w) + (5.2.22)
Sumando 5.2.21 y 5.2.22 tenemos que
If (v, w) + IN(v, w) < + If (v, w) +
IN(v, w) < +
Entonces (v, w) {(x, y) | IN(x, y) < +} {(x, y) | IN(x, y) +}.
Por lo tanto
{(v, w) | If (v, w) } {(v, w) | IN(v, w) + }
Ahora, sea = k,j, entonces
{(x, y) | Ii(x, y) k,j} {(x, y) | If (x, y) k,j}
{(x, y) | IN(x, y) k,j + }
-
lxxix
para todo i k, j = 0, . . . , 2k 1,y cuando 0, tenemos
{(x, y) | Ii(x, y) k,j} {(x, y) | If (x, y) k,j} {(x, y) | IN(x, y) k,j}
Por lo tanto
Hi(k,j)() {(x, y) | If (x, y) k,j} HN(k,j)()
Dado que las imagenes Ii y IN tienen distribucion uniforme, y si toma
valores en el rango [a, b tenemos
k,j a
b a
{(x, y) | If (x, y) k,j}
()
k,j a
b a
Pero como la imagen esta normalizada , es decir toma valores en [0,1]
tenemos
k,j {(x, y) | If (x, y) k,j} k,j
Por lo tanto, se deduce que
{(x, y) | If (x, y) k,j} = k,j
Sea [0, 1] no diadico tal que k,j < < kj+1, entonces
k,j = {(x, y) | If (x, y) k,j} {(x, y) | If (x, y) }
{(x, y) | If (x, y) k,j+1} = k,j+1
Aproximando a con numeros diadicos tenemos
{(x, y) | If (x, y) } = , [0, 1]
Por lo tanto If tienen distribucion uniforme.
-
lxxx
Similarmente probamos que If tiene distribucion uniforme en todos los
componentes de todos los conjuntos de la forma {(x, y) | If (x, y) , entonces {(p, q) | I(p, q) < } > 0, por lo
tanto
p0((x, y), ) p0((x, y), ) > 0
p0((x, y), ) > p0((x, y), )
lo que significa que p0 es una funcion creciente.
-
lxxxiv
P30 : Sea (x, y), (v, w) tal que I(x, y) = I(v, w) = . Entonces
p0((x, y), ) = {(p, q) | I(p, q) < }
p0((v, w), ) = {(p, q) | I(p, q) < }
Por lo tanto, p0((x, y), ) = p0((v, w), ), para todo (x, y), (v, w)
y particularmente, para todo (x, y), (v, w) que estan en el mismo
componente conexo de {(p, q) | I(p, q) = }
P40: Sean (x, y), (v, w) , ademas como I() no es reducido a un punto,
entonces supongamos que
I(x, y) > I(v, w)
Ahora
G(x, y) = p0((x, y), I(x, y)) = {(p, q) | I(p, q) < I(x, y)}
G(v, w) = p0((v, w), I(v, w)) = {(p, q) | I(p, q) < I(v, w)}
de aqu tenemos
p0((x, y), I(x, y)) p0((v, w), I(v, w))
= {(p, q) | I(p, q) < I(x, y)}
{(p, q) | I(p, q) < I(v, w)}
= {(p, q) | I(v, w) I(p, q) < I(x, y)}
pero, como I(x, y) > I(v, w), entonces, {(p, q) | I(v, w) I(p, q) 0, lo que implica
p0((x, y), I(x, y)) p0((v, w), I(v, w)) > 0
-
lxxxv
p0((x, y), I(x, y)) > p0((v, w), I(v, w))
G(x, y) > G(v, w)
Por lo tanto G() no es reducido a un punto.
P50: Sea
(x, y) C1 I(x, y) = 1
(v, w) C2 I(v, w) = 2
Por lo tanto tenemos
p0((x, y), 1) = {(p, q) | I(p, q) < 1}
p0((v, w), 2) = {(p, q) | I(p, q) < 2}
Como X12 es una seccion del mapa topografico de I , sabemos que
1 < 2.
p((v, w), 2) p((x, y), 1)
= {(p, q) | I(p, q) < 2} {(p, q) | I(p, q) < 2}
= {(p, q) | 1 I(p, q) < 2} > 0
Por lo tanto p0((x, y), 1) < p0((v, w), w)
Verifiquemos que pi es un cambio de contraste local de Ii1, i 1, es decir,
verfiquemos que satisfface las cinco porpiedades de la Defincion 5.3, para
todo i.
P1i : Sea , (v, w) (x, y), (v, w) X . Sea Ii1(x, y) = ,
[i,j , i,j+1, y (x, y) Oi,j;r, por lo tanto (v, w) Oi,j;r o (v, w)
-
lxxxvi
Oi,j1s. Supongamos que (v, w) Oi,j1s, entonces Ii1(v, w)
[i,j1, i,j pero Ii1(v, w) Ii1(x, y) es decir , entonces
Ii1(x, y) = i,j = Veamos lo que sucede con pi((v, w), ) y
pi((x, y), ). En este caso, pi((v, w), ) = pi,j1;s(
) pi,j1;s(i,j),
y, puesto que i,j / [i,j1, i,j, entonces pi,j1;s(i,j) = i,j =
pi,j;r() debido al hecho de que = i,j, es decir
pi,j;r() ={(p, q) Oi, j; r | Ii1(p, q) }
(Oi,j;r)(i,j+1 i,j) + i,j
pero, ya que = i,j y de acuerdo con 5.2.5 tenemos que {(p, q)
Oi,j;r | Ii1(p, q) } = 0 , entonces pi,j;r( = i,j) Ahora pi,j;r() =
pi((x, y), ). Por lo tanto pi((v, w), ) pi((x, y), ) En el segundo
caso, cuando (v, w) Oi,j;r, Ii1(v, w) = [i,j, i,j+1, entonces
pi((v, w), ) = pi,j;r(
) pijr() = pi((x, y), )
puesto que , entonces {(p, q) | Ii1(p, q) } {(p, q) |
Ii1(p, q) }. De lo anterior se deduce que pi((v, w), ) pi((x, y), ).
P2i : Sea Ii1(x, y) = < , (x, y) Oi,j;r, entonces
pi((x, y), )
= pi,j;r()
={(p, q) Oi, j; r | I(p, q) }
(Oi, j; r)(i,j+1 i,j) + i,j
Supongamos que Ii1(x, y) = , entonces
pi((x, y), ) = pijr(
)
={(p, q) Oi, j; r | I(p, q) }
(Oi, j; r)(i,j+1 i,j) + i,j
-
lxxxvii
Calculando la diferencia tenemos
pi((x, y), ) pi((x, y), )
={(p, q) Oi,j;r | Ii1(p, q)
}
(Oi,j;r)(i,j+1 i,j) + i, j
{(p, q) Oi,j;r | Ii1(p, q) }
(Oi,j;r)(i,j+1 i,j) + i, j
=i,j+1 i,j(Oi,j;r)
{(p, q) | < Ii1(p, q) }
Puesto que > , entonces (i,j+1 i,j(Oi,j;r)
{(p, q) | < Ii1
}) > 0. Por lo que
pi((x, y), ) pi((x, y), ) > 0
pi((x, y), ) > pi((x, y), )
De lo que se deduce que pi es una funcion creciente respecto de ,
para todo (x, y)
P3i: Sean (x, y), (v, w) en el mismo componente del conjunto {(p, q) |
I(p, q) = }, [0, 1]. Sea j tal que [i,j, i,j+1. Entonces
(x, y), (v, w) Oi,j;r para algun r. De acuerdo a esto tenemos que
pi((x, y), ) = pi,j;r(), y ademas pi,j;r() = pi((v, w), ) =, entonces
deducimos que pi((x, y), ) = pi((v, w), )
P4i: Sea un conjunto conexo con Ii1 no reducido a un punto. Sea
j,r = Oi,j;r.Puesto que =
j,r j,r, entonces para algun j, r,
Ii1(j,r) es no reducido a un punto. Por lo tanto existe (v, w),
(x, y) j,r tal que Ii1(x, y) < Ii1(v, w). Entonces
pi((x, y), Ii1(x, y)) = pi,j;r(Ii1(x, y))
-
lxxxviii
={(p, q) Oi,j;r | Ii1(p, q) Ii1(x, y)}
(Oi,j;r)
(i,j+1 i,j) + i,j
pi((v, w), Ii1(v, w)) = pi,j;r(Ii1(v, w))
={(p, q) Oi,j;r | Ii1(p, q) I(v, w)}
(Oi,j;r)
(i,j+1 i,j) + i,j
entonces
pi,j;r(Ii1(x, y)) pi,j;r(Ii1(v, w))
=(i,j+1 i,j)
(Oi,j;r)[{(p, q) Oi,j;r | Ii1(p, q) I(x, y)}
{(p, q) Oi,j;r | Ii1(p, q) I(v, w)}]
=(i,j+1 i,j)
(Oi,j;r)[{(p, q) Oi,j;r | Ii1(v, w) < Ii1(p, q) Ii1(x, y)}]
puesto que Ii1(x, y) > Ii1(v, w), entonces
pi,j;r(Ii1(x, y)) pi,j;r(Ii1(v, w)) > 0
pi,j;r(Ii1(x, y)) > pi,j;r(Ii1(v, w))
Por lo tanto pi((x, y), Ii1(x, y)) > pi((v, w), Ii1(v, w)), de donde se
deduce que {pi((p, q), Ii1(p, q)) | (p, q) } no es reducido a un
punto.
P5i: Sea X12 =
[1,2] Cuna seccion del mapa topografico de Ii1 y
sea (x, y) C1 , (v, w) C2 , entonces Ii1(x, y) = 1, Ii1(v, w) =
2. Sea j tal que 1 [i,j, i,j+1, entonces (x, y) Oi,j;r. Si
2 [i,j , i,j+1, entonces X12 Oi,j;r porque la seccion del
mapa topografico en un conjunto conexo y continen a (x, y), entonces
-
lxxxix
(v, w) Oi,j;r. Por lo tanto, tenemos pi((x, y), 1) = pi,j;r(1) pi((x, y), 1). Por lo tanto, pi((x, y), 1) 0.
Como se genera a partir de , entonces If () If () puesto que
. Sea (v, w) CIf (x,y) para algun (x, y) . Por P3, sabemos
que If (x, y) = If (v, w), entonces tenemos que (v, w) If () y se
deduce que If () If (). Por lo tanto If () = If (). Si If ()
fuera reducido a un punto , entonces If () = {}. Por lo tanto
{(p, q) | If (p, q) = } > () > 0, contradiciendo el Lema 5.1.En
consecuencia If () no puede ser reducido a un punto.
P5f : Sea X1,2 =
[1,2] C una seccion del mapa topografico de I y
sea (x, y) C1 , (v, w) C2 . Usando P5i tenemos que cada pi
-
xciii
transforma X1,2 en una seccion del mapa topografico de Ii y que
pi((x, y), Ii1(x, y)) < pi((v, w), Ii1(v, w)) Entonces FN((x, y), 1) =
pN((x, y), IN1(x, y)) < pN((v, w), IN1(v, w)) = FN((v, w), 2), para
todo N . Cuando N , conseguimos que
FN((x, y), 1) < FN((v, w), 2)
5.3 Algoritmo y Resultados
En la Figura 5.3 se presenta el algoritmo que permite implementar el metodo prop-
uesto en la seccion anterior, para mejorar localmente el contraste de una imagen.
Para llevar a la practica el algoritmo presentado, es necesario implementar adicio-
nalmente algunas funciones con el objetivo de obtener resultados que permitan hacer
efectivo el metodo descrito en este captulo. En primer lugar, debemos calcular todos
lo elementos de un subconjunto Oi,j definido como {(x, y) | i,j I(x, y) < i,j+1},
para ello utilizamos una funcion denominada biumbral, la cual nos permite binarizar
una imagen entr