Está en la página 1de 24

Dpto.

Electrnica, Automtica e Informtica Industrial 91


3 Procesamiento digital de
imgenes
Una vez preparada la escena para ser capturada por las cmaras de Visin
Artificial, se deber de tratar el aspecto tanto de la cuantificacin como de la
codificacin que sufre la seal de vdeo al ser introducida en el computador. Depositada
la informacin, como una matriz o conjunto de matrices de valores discretos se
proceder, tal cual se vio en las etapas de visin del captulo 1, a un procesado de la
imagen. Esta etapa, de bajo nivel, trata de obtener una nueva imagen que o bien mejore
su calidad o bien destaque algn atributo primario de los objetos capturados. En el
aspecto de la calidad tratar de corregir las posibles faltas de iluminacin, la eliminacin
del ruido o de aumentar el contraste en la imagen. Mientras en el realce, su objetivo es
destacar los bordes de los objetos, regularizar sus colores, acentuar sus texturas, etc.
Las tcnicas de procesamiento de las imgenes pueden ser clasificadas en dos
grandes ramas: a) las procedentes del procesamiento de seales y b) aquellas que son
de carcter heurstico y que nacieron para mejorar algn aspecto primario de la imagen.
En este captulo se abordar el proceso de muestreo y cuantificacin de la
imagen y luego se examinarn algunas tcnicas de procesado de imgenes procedentes
del procesamiento de seales.

Carlos Platero Apuntes de Visin Artificial
92 Dpto. Electrnica, Automtica e Informtica Industrial
3.1 Muestreo y cuantificacin
Las imgenes digitales son obtenidas por el proceso de muestreo y
cuantificacin de las seales de vdeo adquirida a travs de sensores especializados
(bien de cmaras u otro tipo de adquisicin). El muestreo consiste en la tarea de
discretizacin del escenario en el plano sensor. La imagen es convertida en una matriz
discreta de MxN pxeles. El muestreo est relacionado con la resolucin espacial de la
imagen.
256x256 128x128
64x64 32x32

Figura 3. 1 Resoluciones distintas tomadas sobre un mismo escenario
Para determinar la resolucin requerida, hay que determinar dos factores: 1)
cul es la caracterstica ms pequea a observar y 2) cul va a ser el campo de visin
deseado a adquirir. Por tanto, habr que determinar el factor de magnificacin y el
nmero de pxeles que debe de tener la cmara. Como regla general, se puede emplear
que la caracterstica ms pequea sea representada por, al menos, un cuadrado de 2x2
pxeles.
Por otro lado, el campo de visin suele venir
dado por la capacidad del sistema de iluminacin.
ste pretender, por lo general, conseguir una
intensidad luminosa uniforme en toda la superficie
a inspeccionar por la cmara. Por tanto, se plantea
el problema en los siguientes trminos: defecto ms
pequeo a visualizar y el campo de visin a
capturar por la cmara.
Superficie iluminada
cuasi uniforme
Focos luminoso
Campo de visin
Figura 3. 2 Escenario de captura de
la escena
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 93
Ejemplo 3.1
Para la inspeccin de la pasta de papel se
ha conseguido, segn un modelo de simulacin,
una iluminacin uniforme a contraluz de 200 mm
x 275 mm (en una relacin prxima a los ) y el
defecto ms pequeo a detectar tiene un rea de
1 mm
2
. Con el objeto de reducir las aberraciones
pticas, se ha cerrado el diafragma con un
elevado nmero F. Con ello y tras el anlisis
radiomtrico se ha demostrado que si se emplea
una cmara WATEC 902 con una lente de 16
mm, la pasta de papel debe de estar alrededor de
los 700 mm en vertical. Determinar si es correcta la eleccin realizada.
Segn el fabricante de la cmara, sta tiene
para el estndar CCIR 582 filas por 752 columnas y
el tamao del pxel es 8.3m por 8.6m. Tomando
como propsito un entorno de 3x3 pxeles para el
defecto de 1mm
2
, el factor de magnificacin
ponderado ser:
0253 . 0
10
10 6 . 8 10 3 . 8 9
6
6 6
2
=

=


M M
La superficie a inspeccionar ser:
mm
M
Y mm
M
X 2 . 255
10 6 . 8 752
6 . 190
10 3 . 8 582
3 3
=

= =

=


La cmara deber estar situada a:
mm
M
f
Z 632 = =
En el caso de obtener una resolucin elevada, se puede optar por dos soluciones:
1. Si es posible parar la escena, puede resultar ser ms ventajoso utilizar varias cmaras
de baja resolucin en lugar de una de alta resolucin, pues se consigue disminuir
anchos de banda puntuales y resulta ser una solucin ms econmica. 2) Si la escena no
se puede detener y el nmero de detectores a utilizar es elevado, bien porque la
arquitectura de iluminacin slo permite iluminar uniformemente una estrecha banda, o
bien porque se quiere cubrir el ancho de la banda del material a inspeccionar, las
cmaras lineales y TDI son las ms apropiadas. Estas cmaras tienen la ventaja de poner
decenas de miles de pxeles en lnea, cubriendo toda la cubierta de la superficie y con
una resolucin muy alta. La adquisicin de una sola lnea permite un ancho de banda
razonable, aun con decenas de miles de detectores. Por otro lado, las altas velocidades
hacen que los tiempos de exposicin sean muy pequeos, obligando a aumentar la
Carlos Platero Apuntes de Visin Artificial
94 Dpto. Electrnica, Automtica e Informtica Industrial
intensidad luminosa. Esta consecuencia puede ser disminuida usando cmaras TDI,
siendo stas las ms utilizadas en inspeccin de superficies continuas en lnea.
Desde el punto de vista frecuencia, el teorema de Shanon afirma que la
frecuencia de muestreo debe ser al menos el doble que al ancho de banda de la seal a
muestrear. En una imagen capturada, sin cambios abruptos de intensidad, las
componentes de alta frecuencia de su transformada de Fourier tienden a ser nulos. Por el
contrario, si la imagen contiene muchos pequeos detalles y una gran cantidad de
bordes de los objetos
proyectados, el espectro de
alta frecuencia es de elevado
nivel. Considerando que la
imagen tiene un espectro de
ancho de banda limitado, W,
la frecuencia de muestreo
debe de ser al menos del
doble, 2W. En la
cuantificacin de la imagen,
la unidad de frecuencia
especial es un ciclo por pxel.
Por tanto, desde el punto de
vista del teorema, la mayor
frecuencia espacial
representada es la de ciclo
por pxel. El armnico de
mayor frecuencia requiere de
dos pxeles; realizando una
transicin de blanco-negro.
Por esta razn, se deca
anteriormente que el detalle
ms pequeo debera de tener
un entorno de 2x2. En la figura se ha representado el armnico fundamental junto con la
componente de mayor frecuencia, tanto en la frecuencia horizontal como en vertical.
La segunda operacin es la cuantificacin de la seal, que consiste en el nmero
finito de valores de cada pxel. Los niveles de cuantificacin suelen ser potencias de 2
para facilitar su almacenamiento en el computador. El nmero de niveles posibles
define la resolucin radiomtrica. Cuando las imgenes solo tienen informacin sobre la
luminancia se habla de una imagen en niveles de grises. En este caso, la cuantificacin
del pxel es de tipo escalar. Si el escalar slo tiene dos valores, se dice que la imagen es
binaria. El valor del cero es negro y el uno es blanco.
En general, se suele emplear un byte de cuantificacin por pxel, consiguiendo
256 niveles de grises. El cero ser el color negro y el valor 255 corresponder con el
blanco. Entre el cero y el valor 255 estarn los diversos valores de grises. Para el caso
del color, la cuantificacin se vuelve vectorial; por cada pxel se representara una terna
de valores que haga reflejar la luminancia y crominancia en cada pxel. La terna
depender del sistema de representacin del color: RGB, L*a*b, HSI,... Comnmente,
se emplear el sistema RGB con 1 byte por cada color, de forma que se obtendr 16
Figura 3. 3. Componentes de Fourier a) Armnico
fundamental, b) Componente de alta frecuencia
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 95
millones de colores. Las aplicaciones industriales suelen emplear una resolucin
radiomtrica de 256 niveles de grises o de 16 millones de colores. Evidentemente, si la
aplicacin exige ms resolucin, el volumen de informacin se incrementa
exponencialmente.

Figura 3. 4 Niveles de cuantificacin
3.2 Distancias entre pxeles
Antes de entrar en el procesado, se definen ciertas relaciones que se establecen
entre los pxeles de una imagen y que sern aplicadas en las tcnicas de procesamiento
de las imgenes. En primer lugar, se mencionarn los diferentes conceptos de distancias,
para una vez establecidas pasar a las relaciones de vecindad.
3.2.1 Relaciones de distancias
La distancia ms usual entre dos pxeles es la distancia geomtrica o distancia
eucldea. La distancia eucldea entre el pxel p de coordenadas (x,y) y el pxel q de
posicin (s,t) ser:
( ) ( ) ( )
2 2
, t y s x q p D
e
+ = (3. 1)
Carlos Platero Apuntes de Visin Artificial
96 Dpto. Electrnica, Automtica e Informtica Industrial
8 5
2
5 8
5 2
1
2 5
2 1 0 1 2
5 2
1
2 5
8 5
2
5 8
El problema de esta mtrica est en el tiempo de clculo que requiere. Por dicha
razn tambin se suele emplearse, en imgenes digitales, la distancia rectangular o
Manhattan, definida como:
( ) ( ) t y s x q p D
m
+ = ,
Y la distancia de Tchebychev, tomada como:
( ) ( ) t y s x q p D
t
= , max ,
Para realizar una comparativa entre estas tres distancias, vanse en la figura
adjunta el lugar geomtrico de estas distancias en el entorno de vecindad de un pxel
centrado en la cuadrcula:

3.2.2 Relaciones de conectividad
Mediante el concepto de conectividad se quiere expresar que dos pxeles
adyacentes del elementos sensor pertenecen al mismo objeto proyectado. Se define el
conjunto de los 4-vecinos de un pxel dado p, definido como N
4
(p), como el conjunto de
vecinos de p formado por los pxeles de arriba, de abajo, de izquierda y a la derecha.
Desde un punto de vista ms formal sern aquellos pxeles que respecto de p tengan una
distancia rectangular igual a la unidad, D
m
(p,q) = 1. La vecindad a 8, denotado por
N
8
(p), est formado por el conjunto de pxeles que estn a una distancia de Tchebychev
igual a la unidad, D
t
(p,q) = 1.

(3. 2)
(3. 3)
2 2 2 2 2
2 1 1 1 2
2 1 0 1 2
2 1 1 1 2
2 2 2 2 2
4 3 2 3 4
3 2 1 2 3
2 1 0 1 2
3 2 1 2 3
4 3 2 3 4
Figura 3. 5. a)Eucldea b)Rectangular c)Tchebychev
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 97
3.3 Procesamiento de las imgenes
La Teora de Seales y Sistemas da un marco de trabajo para el procesamiento
digital de las imgenes. Con este objetivo, se proceder a extender los conocimientos
dados sobre seales unidimensionales y sistemas discretos monovariables, estudiados en
anteriores asignaturas, a las imgenes digitales. Las imgenes digitales son consideradas
como seales discretas bidimensionales, las cuales son procesadas por sistemas
discretos o filtros.
Segn la Teora de la Seal, una seal discreta
unidimensional que es procesada por un filtro discreto
lineal (Linear Time Invariant, LTI), la secuencia de
salida es explicada por el proceso de convolucin
discreta entre la entrada y la secuencia de ponderacin
del filtro:
{ } { } { } { } { }
k k k k k
g x x g y * * = =


=

= =
n
n n k
n
n n k k
g x x g y
Se denomina secuencia de ponderacin a la que se obtiene en la salida del
sistema cuando se aplica a la entrada una secuencia tipo impulso.
{ } { } ,... , , , , ...,
2 1 0 1 2
g g g g g g
k
=
Si el sistema es causal, g
k
es igual a cero para k < 0.
Ejemplo 3.2
Dada la ecuacin en diferencia:
2 1
4
1
2
1
4
1

+ + =
k k k k
x x x y
obtener la secuencia de ponderacin y determinar la salida ante una
entrada en escaln.
Para obtener la secuencia de ponderacin habr de aplicarle una entrada
impulsional, de forma que la entrada ser del tipo { } { } ,.. 0 , 0 , 0 , 1 =
k
x . La evolucin de la
salida puede ser realizada a travs de una tabla, en las que se van obtenido los resultados
temporales al aplicar la ecuacin en diferencias:

(3. 4)
(3. 5)
(3. 6)
Carlos Platero Apuntes de Visin Artificial
98 Dpto. Electrnica, Automtica e Informtica Industrial
K x
k
x
k-1
x
k-2
y
k

0 1 0 0 0.25
1 0 1 0 0. 5
2 0 0 1 0.25
Luego la secuencia de ponderacin del sistema LTI es:
{ } { }
4
1
1 2 1 =
k
g
Para calcular la respuesta en escaln se aplicar el operador convolucin
discreta, donde la seal de entrada ser { } { } ,.. 1 , 1 , 1 , 1 =
k
x :
...
1 25 . 0 5 . 0 25 . 0
75 . 0 5 . 0 25 . 0
25 . 0
7
0
2
7
0
1
2
0
0
= + + = =
= + = =
= =

n
n n k
n
n n k
n
n n k
g x y
g x y
g x y

Cuando la secuencia de ponderacin de un filtro es finita se le denomina filtro de
tipo FIR (Finite Impulse Response). Si la secuencia de ponderacin tiene infinito
trminos, el filtro se denomina IIR (Infinite Impulse Response).
De otro lado, la suma de los coeficientes de la mscara del filtro debe ser
unitaria para preservar el rango dinmico de la secuencia de entrada:
Resolucin en MATLAB
>> g= [1;2;1]./4;
>> x=ones(10,1);
>> y=conv(x,g);
>>stem(y(1:10));


Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 99

=
=
n
k
k
g
0
1
n ser el grado del filtro.
Estos razonamientos se extienden a seales bidimensionales discretas,
aplicndose, por tanto, a las imgenes digitales. En este caso, la seal de entrada ser la
imagen discreta a procesar que es convoluciona con el filtro lineal discreto y la seal de
salida ser la imagen resultante. La expresin de la convolucin discretas 2D ser:

=

=
m n
n m n l m k l k
g x y
, , ,

Normalmente, el filtro discreto est constituido por una secuencia de
ponderacin finita FIR, del tipo 3x3 o de 5x5. A los coeficientes de estos filtros se les
llama mscaras de convolucin. El proceso de convolucin se presenta como una
combinacin lineal de los pxeles del entorno ponderados por los elementos de la
secuencia de ponderacin o mscara de convolucin, de forma parecida al caso
unidimensional. Por ejemplo, para el caso de un filtro de 3x3, el valor de pxel de salida
(k,j) ser:
1 , 1 1 , 1 1 , 1 1 , 1 0 , 1 , 1
1 , 1 1 , 1 1 , 1 1 , 1 0 , 1 , 1
1 , 0 1 , 1 , 0 1 , 0 , 0 ,
1
1
1
1
, , ,
+
+ + + +
+
= =

+ +
+ + +
+ + + = =

g x g x g x
g x g x g x
g x g x g x g x y
l k l k l k
l k l k l k
l k l k l k
m n
n m n l m k l k

Las grficas del filtro y la imagen en subndices y expresadas en forma matricial
correspondern a:
|
|
|

\
|
|
|
|

\
|
+ + + +
+
+


1 , 1 , 1 1 , 1
1 , , 1 ,
1 , 1 , 1 1 , 1
1 , 1 0 , 1 1 , 1
1 , 0 0 , 0 1 , 0
1 , 1 0 , 1 1 , 1
l k l k l k
l k l k l k
l k l k l k
x x x
x x x
x x x
g g g
g g g
g g g

La convolucin discreta 2D se presenta como una combinacin lineal, donde el
valor del pxel de salida (k,l) est definido por la multiplicacin de sus vecinos
ponderador por los coeficientes de las mscara de convolucin. El valor del pxel de
entrada del vecino a (k,l) es multiplicado por el opuesto de la mscara de convolucin.
Por ejemplo, el vecino (k+1,l+1) est ponderado por el coeficiente (-1,-1) de la
mscara.
(3. 7)
(3. 8)
(3. 9)
Carlos Platero Apuntes de Visin Artificial
100 Dpto. Electrnica, Automtica e Informtica Industrial

Ejemplo 3.3
Determinar la imagen de salida cuando sta es procesada por un filtro
binomial de 3 x 3.
|
|
|
|
|
|
|
|
|

\
|
=
|
|
|

\
|
|
|
|
|
|
|

\
|
0 0 0 0 0 0 0
0 5 . 12 5 . 37 50 5 . 37 5 . 12 0
0 5 . 37 100 125 100 5 . 37 0
0 50 125 150 125 50 0
0 5 . 37 100 125 100 5 . 37 0
0 5 . 12 5 . 37 50 5 . 37 5 . 12 0
0 0 0 0 0 0 0
16
1
1 2 1
2 4 2
1 2 1
*
0 0 0 0 0
0 200 200 200 0
0 200 0 200 0
0 200 200 200 0
0 0 0 0 0

Del ejemplo se observa que la aplicacin del operador convolucin sobre la
imagen produce una imagen resultado de mayor dimensin que la entrada. La imagen
salida ser la suma de filas de la entrada ms la del filtro menos la unidad. Igualmente
sucede con las columnas. Si KxL es el rango de la matriz de entrada y MxN la mscara,
el rango de la salida es (K+M-1)x(J+L-1). Este efecto se debe a cuando el operador
Resolucin en MATLAB
>> g= [1;2;1]./4;
>> mascara = conv2(g,g);
>> imagen = zeros(5,5);imagen(2:4,2:4)=200;imagen(3,3)=0;
>>imgSal = conv2(imagen,mascara)

Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 101
convolucin pasa por los bordes de la imagen. En los pxeles de los bordes cuando se
pivota la mscara, los vecinos del pxel que no existen, por defecto, son considerados
nulos. En los algoritmos que implementan esta operacin el efecto de los bordes son
tratados de tres maneras distintas:
1. Se considera que los pxeles vecinos no existentes bien son cero, un valor
dado por el usuario o se toma un valor intermedio de los que existen. La
imagen de salida es (K+M-1)x(L+N-1).
2. Se hace la misma convolucin que en el apartado anterior pero
eliminando las filas y columnas exteriores. La imagen de salida es de
igual tamao que la de entrada, (KxL).
3. La convolucin se hace slo en la parte central de la imagen de entrada,
esto es, se hace una submatriz tal que al convolucionar todos los pxeles
de stas tienen vecinos conocidos. El tamao de la imagen de salida es
(K-M+1)x(L-N+1).
Ejemplo 3.4
Determinar el resultado de la convolucin discreta 2D para el filtro FIR
binomial {1,2,1} y su traspuesta.
( )
|
|
|

\
|
=
|
|
|

\
|
1 2 1
2 4 2
1 2 1
1
2
1
* 1 2 1
Una ayuda a la comprensin del efecto de la convolucin es dado por el
operador correlacin discreta 2D. Esta transformacin se define como:

=
+ +
=
m n
n m n l m k l k
g x y
, , ,

Ntese que para mscaras de convolucin con simetra par, la convolucin y la
correlacin son operaciones idnticas. Para este caso, la convolucin es aplicada cmo
bsqueda de patrones en la imagen. Si la forma de la mscara y de la imagen son
parecidas la imagen de salida ser reforzada en estos pxeles, ya que existe correlacin.
En caso contrario, los pxeles de salida que tienen una forma contraria sern restados.

(3. 10)
Resolucin en MATLAB
>> g= [1;2;1]./4;
>> conv2(g,g)

Carlos Platero Apuntes de Visin Artificial
102 Dpto. Electrnica, Automtica e Informtica Industrial
Ejemplo 3.5
Para determinar impurezas en la pasta de papel se ha empleado
un filtro binomial. Su fundamento se encuentra en la correlacin
existente entre los tipos de defectos y la forma de la mscara. Mientras,
los defectos en el papel tienen la forma de hoyo, el filtro binomial se
parece a un hongo. Por tanto su correlacin es negativa, acentuando el
nivel de gris a la baja cuando hay un defecto en el papel.

El operador correlacin es empleado en las tcnicas de
Visin Artificial como instrumento para la bsqueda de patrones
en la imagen (Pattern Matching). Por ejemplo, localizar fechas de
caducidad, formas geomtricas de objetos, etc. No obstante, la
variabilidad de la iluminacin en la escena requiere que la
correlacin sea independiente del nivel de gris y que dependa slo
de la forma. Para solucionarlo se emplean operadores de
correlacin normalizada
1
. Los fabricantes de tarjetas de
procesamiento de imgenes implementan la operacin
correlacin en vez de la convolucin, ahorrando tiempo computacional en el filtrado
lineal. Esta consecuencia es por que las mayoras de las mscaras de convolucin tienen
simetra par. En caso de simetra impar, el resultado de la convolucin y de la
correlacin son iguales pero de signo contrario.
No obstante, la interpretacin ms fructfera de la convolucin se da en la
respuesta en frecuencia de los filtros.



1
Vase la bibliografa especializada.
1
1.5
2
2.5
3
1
1.5
2
2.5
3
0.05
0.1
0.15
0.2
0.25
Figura 3. 6. Aplicaciones
de pattern matching
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 103
3.4 Respuesta en frecuencia y transformadas de Fourier
Para seales unidimensionales y considerando normalizado el periodo de
muestreo a 1 segundo, ya se haba definido la respuesta en frecuencia de un filtro lineal
discreto como:
( )

=
n
n j
n
e g G


Ejemplo 3.6
Determinar la respuesta en frecuencia de un sistema discreto cuya
secuencia de ponderacin es {1/4, 1/2, 1/4}.
Al aplicar (3. 11) sobre la secuencia de ponderacin dada:
( )

2
2
0
4
1
2
1
4
1
j j n j
n
e e e g G

+ + = =


dando valores de 0 hasta la frecuencia de Nyquist, /T, se conseguir la
respuesta. Ntese que G() es una funcin continua. Con el propsito de representarla
en el diagrama de Bode se hace, por ejemplo, 64 intervalos entre 0 y ,
confeccionndose la tabla siguiente:
G( )
( ) G
( ) ( ) G arg
0 1 1 0
/64 0.99-j0.049 0.999 -2.81
2/64 0.99-j0.097 0.997 -5.62
... ... ... ...
63/64 -0.0006-j0.00003 0.0006 -178
(3. 11)
Carlos Platero Apuntes de Visin Artificial
104 Dpto. Electrnica, Automtica e Informtica Industrial
En este sentido, aunque la respuesta en frecuencia es continua, los algoritmos de
clculo son discretos, por tanto, si la frecuencia va desde cero hasta la frecuencia de
Nyquist y se hacen K/2 de particiones para este rango de frecuencias, este operador
podr redefinirse como:
1 ,..., 2 , 1 , 0
0
2
= =

=

K k e g G
N
n
n
K
k
j
n k


Recurdese el carcter simtrico de la respuesta en frecuencia entre el rango de
frecuencias entre 0 y la frecuencia de Nyquist y de esta frecuencia a la de muestreo. La
antitransformada quedar aproximada por la algoritmia numrica:
( ) 1 ,..., 2 , 1 , 0
1
2
1
1
0
2
= =

N n e G
K
d e G g
K
k
n
K
k
j
k
n j
n


La forma de asociar la secuencia de ponderacin {g
n
} a la respuesta en
frecuencia G
k
, puede ser extendida a cualquier secuencia que cumpla determinadas
propiedades. As se construye lo que se denomina la transformada discreta de Fourier de
una secuencia, a sta se la conoce por las siglas DFT (Discrete Fourier Transform). De
este modo, dada una secuencia, {x
n
}, se define su transformada de Fourier como la
funcin:
1 ,..., 2 , 1 , 0
0
2
= =

=

K k e x X
N
n
n
K
k
j
n k


sta es igualmente peridica, de ciclo 2, y en las condiciones antes indicadas es
un desarrollo en serie de Fourier, lo que permite definir la transformada inversa:
(3. 12)
(3. 13)
(3. 14)
Resolucin en MATLAB
>> [G,W] = freqz ([1/4,1/2,1/4], 1,128);
>> plot(W,abs(G));
>> plot(W,angle(G).*(180/pi));


Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 105
1 ,..., 2 , 1 , 0
1
1
0
2
= =

N n e X
K
x
K
k
n
K
k
j
k n


La transformada de Fourier de una secuencia es una funcin compleja, siendo
usualmente representada grficamente por sus curvas de mdulo y de argumento. Al
igual que ya se vio en la Teora de Control, la utilidad ms importante que se va a hacer
de la transformacin de Fourier es la que se deriva de la relacin existente entre las
transformadas de Fourier de las secuencias de entrada y de salida de un filtro LTI y su
respuesta en frecuencia, de manera que:
( ) ( ) ( ) X G Y =
Esta relacin permite tratar a los filtros discretos de una manera similar con lo
que se proceda con los continuos; dando un procedimiento para determinar la secuencia
de salida a partir de la respuesta en frecuencia (ver figura 3.7). Conocida la respuesta en
frecuencia del filtro y la transformada discreta de la secuencia de entrada, se
determinar la transformada de la secuencia de salida y posteriormente se aplicar la
transformada inversa, obteniendo la secuencia de la salida.
Ejemplo 3.7
Dada la respuesta en frecuencia de un filtro discreto unidimensional de
orden 2 (ver ejemplo 3.6):
1 ,..., 2 , 1 , 0
4
1
2
1
4
1
4 2
= + + =

K k e e G
k
K
j k
K
j
k


y siendo { } { } ,... 0 , 0 , 0 , 1 , 1 =
k
x la excitacin al sistema, calcular la secuencia
de salida.
En primer lugar se proceder a calcular la DFT de la secuencia de entrada:
(3. 15)
(3. 16)

Figura 3. 7 Relacin fundamental de los sistemas discretos
Carlos Platero Apuntes de Visin Artificial
106 Dpto. Electrnica, Automtica e Informtica Industrial
1 ,..., 2 , 1 , 0 1
2
= + =

K k e X
k
K
j
k


Aplicando la relacin fundamental visto en la ec.(3. 16) se tendr que:
k
K
j k
K
j k
K
j k
K
j k
K
j k
K
j
k
e e e e e e Y
6 4 2 4 2 2
4
1
4
3
4
3
4
1
4
1
2
1
4
1
1

+ + + =
|
|

\
|
+ +
|
|

\
|
+ =
Por tanto, la secuencia de salida valdr:
{ }
)
`

=
4
1
,
4
3
,
4
3
,
4
1
k
y

3.4.1 Extensin a imgenes digitales
La respuesta en frecuencia de un filtro LTI 1D puede ser extendido a la
respuesta en frecuencia sobre la mscara de convolucin 2D. Dada una mscara de
convolucin, g
n,m
, su respuesta en frecuencia es:
1 ,..., 2 , 1 , 0 1 ,..., 2 , 1 , 0
0 0
2 2
, ,
= = =

= =

L l K k e e g G
M
m
N
n
l
N
n
j k
M
m
j
n m l k


Ejemplo 3.7
Determinar la respuesta frecuencia del filtro binomial 2D:
(3. 17)
Resolucin en MATLAB
>> Xw = fft( [1;1], 64);
>> Gw = fft( [1;2;1]./4, 64);
>> Yw = Xw .* Gw;
>> yk = ifft( Yw )
0.25
0.75
0.75
0.25
0
...
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 107
{ }
|
|
|

\
|
=
1 2 1
2 4 2
1 2 1
16
1
,n m
g
Al aplicar la definicin sobre la mscara de convolucin dada:
l
L
j k
K
j l
L
j k
K
j k
K
j
l
L
j k
K
j l
L
j k
K
j k
K
j
l
L
j l
L
j l
L
n
j k
K
m
j
n m l k
e e e e e
e e e e e
e e e e g G



4 4 2 4 4
4 2 2 2 2
4 2
2
0
2
0
2 2
, ,
2
2 4 2
2 1
16
1


+ +
+ + +
+ + + = =


El nivel de resolucin se vuelve tan enredoso que slo se puede realizar desde la
simulacin. En la presentacin con Matlab obsrvese que se ha empleado para K y L un
valor en potencia de 2, como es 64. Los valores de K y L son elegidos de esta manera
para optimizar el tiempo de clculo de la transformada de Fourier, llamado algoritmo
rpido de esta transformacin. En la representacin slo se ha presentado el mdulo. Al
igual que en el caso unidimensional, existe simetra tanto en la direccin k como en l.
Las imgenes discretas tambin poseen su transformada de Fourier. Cualquier
imagen digital puede ser representada por una serie de exponenciales discretas:
Resolucin en MATLAB
>> V=fft2(conv2([1 2 1],[1 2 1]'),64,64);
>> surf(abs(V))

0
20
40
60
80
0
20
40
60
80
0
5
10
15
20
k
Respuesta en frecuencia de la mscara binomial
l
m

d
u
l
o

d
e

l
a

r
e
s
p
u
e
s
t
a

Carlos Platero Apuntes de Visin Artificial
108 Dpto. Electrnica, Automtica e Informtica Industrial
1 ,..., 2 , 1 , 0 1 ,..., 2 , 1 , 0
0 0
2 2
, ,
= = =

= =

L l K k e e x X
M
m
N
n
l
L
n
j k
K
m
j
n m l k


Dada la transformada de Fourier de la imagen tambin se puede recuperar sta a
travs de su antitransformada:
1 ,..., 2 , 1 , 0 1 ,..., 2 , 1 , 0
1
1
0
1
0
2 2
, ,
= =

N n M m e e X
L K
x
K
k
L
l
n
L
l
j m
K
k
j
l k n m


La transformada de Fourier obtiene el espectro frecuencial de la imagen. A
medida que aumenta la frecuencia de las componentes del espectro, stas indican ms
transiciones de luminancia en menos pxeles de la imagen. Imagnese que slo se utilice
una nica componente del desarrollo de Fourier, por ejemplo, un armnico en la
frecuencia de la direccin k. Al realizar su antitransformada, mostrar los cambios
producidos por el armnico en la direccin k en un determinado conjunto de pxeles. Al
aumentar la frecuencia de esta componente, las transiciones de grises sern mayores en
el conjunto de pxeles seleccionados.
(3. 18)
(3. 19)
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 109
Las mayores transiciones se darn en las altas frecuencias definiendo la mxima
resolucin del sistema de formacin de las imgenes.
Resolucin en MATLAB
>> V=zeros(64,64);V(30:34,30:34)=20000;
>> surf(V);title('Componente de alta frecuencia');
>> imshow(ifft2(V,64,64))
0
20
40
60
80
0
20
40
60
80
0
0.5
1
1.5
2
x 10
4
Componente de alta frecuencia


Resolucin en MATLAB
>> V=zeros(64,64);V(1,1+2)=2000;V(1,64-2)=2000;
>> surf(V);title('Componente 2 en el eje k');
>> imshow(ifft2(V,64,64));
>> V=zeros(64,64);V(1,1+16)=2000;V(1,64-16)=2000;
>> surf(V);title('Componente 16 en el eje k');
>> imshow(ifft2(V,64,64));

0
10
20
30
40
50
60
70
0
10
20
30
40
50
60
70
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Componente 2 en el eje k

0
20
40
60
80
0
20
40
60
80
0
500
1000
1500
2000
Componente 16 en el eje k

Carlos Platero Apuntes de Visin Artificial
110 Dpto. Electrnica, Automtica e Informtica Industrial
La transformada de Fourier muestra que una imagen puede ser construida por la
combinacin de armnicos de frecuencias verticales y horizontales.
3.4.2 Aplicaciones
De la interpretacin de la transformada de Fourier de las imgenes se deducen
aplicaciones inmediatas. Una primera sera la eliminacin del ruido de la imagen. Es
conocido que el espectro del ruido corresponde a la alta frecuencia, por tanto, si se
elimina estas componentes se habr cancelado el ruido. La desventaja de este proceder
es que tambin eliminar los detalles finos de la imagen.
Otra aplicacin sera realzar los bordes de la imagen. Los contorno son
transiciones en la luminancia de alta frecuencia, la eliminacin de las componentes de
baja frecuencia permitir destacar los bordes.
Resolucin en MATLAB
>> imagen=imnoise(imread('cameraman.tif'));imshow(imagen);
>>V=fft2(double(imagen)); V(128-120:128+120,128-120:128+120)=0;
>> imshow(uint8(ifft2((V))))


Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 111
Sin embargo, esta manera de actuacin no se emplea por el alto coste
computacional. Muchas de las tcnicas de procesamiento emplean la relacin
fundamental de los sistemas discretos. Se disean mscaras de convolucin cuya
respuesta en frecuencia correspondan a filtros pasos bajos, pasos bandas o pasos altos,
eligiendo el espectro de la imagen de entrada que se pretende seleccionar. Debido a la
profundidad de estas tcnicas se abordarn en el prximo captulo.
3.5 Problemas
1. Cmo determinar el proceso de cuantificacin de una imagen?.Y el de
codificacin?.
2. El procesamiento lineal de las imgenes digitales.
3. Convolucin y correlacin 2D, conclusiones y aplicaciones.
4. Respuesta en frecuencia de la mscara de convolucin:
|
|
|

\
|
0 1 0
1 2 1
0 1 0
6
1

5. Relaciones entre el espectro de la imagen y el tipo de escena capturada.
Resolucin en MATLAB
>> imagen= imread('cameraman.tif');imshow(imagen);
>>V=fft2(double(imagen));
>>V(1:10,1:10)=0;V(256-9:256,1:10)=0;
>>V(256-9:256,1:10)=0;V(256-9:256,256-9:256)=0;
>> imshow(uint8(ifft2((V))))

Carlos Platero Apuntes de Visin Artificial
112 Dpto. Electrnica, Automtica e Informtica Industrial
Ejercicio 1
Dada la siguiente imagen, calcular para el pxel marcado el resultado de
la convolucin con las dos mscaras de Prewitt.
|
|
|
|
|

\
|

10 10 10 1 1
10 10 10 1 1
10 10 10 1 1
10 10 10 1 1

y x

|
|
|

\
|

|
|
|

\
|
1 0 1
1 0 1
1 0 1
1 1 1
0 0 0
1 1 1

Ejercicio 2
Si se aplica la siguiente mscara de convolucin, { } { } 1 0 1
k
g = ,
como un vector fila a la imagen de la figura, Cul sera el resultados?Y si se
aplica como un vector columna?

La mscara corresponde al operador derivada respecto al eje Y. La imagen
resultado sera:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Correspondera con el operador derivada respecto al eje X:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 -255 -255 -255 -255 0 0 0
0 0 0 -255 -255 -255 -255 0 0 0
0 0 0 0 0 0 0 0 0 0
Apuntes de Visin Artificial Captulo 3: Procesamiento de imgenes
Dpto. Electrnica, Automtica e Informtica Industrial 113
0 0 0 0 0 0 0 0 0 0
0 0 0 255 255 255 255 0 0 0
0 0 0 255 255 255 255 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

Ejercicio 3
Demostrar que el filtro FIR, cuya secuencia de ponderacin es
{ } { } 1 0 2 0 1
4
1
=
k
g , corresponde a un filtro paso banda.
Empleando la respuesta frecuencial del filtro:
( )
2 4
1
1 2
4
j j
G e e


( = +


Se calcula el mdulo y el argumento para varias frecuencias. Por ejemplo a 0,
/2 y .
( ) ( ) 0 0 1 0
2
G G G

| |
= = =
|
\

Se produce un incremento del mdulo hasta alcanzar la mitad de la frecuencia de
Nyquist y despus decrece, por tanto es un filtro paso banda.
0 0.5 1 1.5 2 2.5 3 3.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Mdulo de la respuesta en frecuencia
0 0.5 1 1.5 2 2.5 3 3.5
-200
-150
-100
-50
0
50
100
150
200

Derecho de Autor 2009 Carlos Platero Dueas.
Permiso para copiar, distribuir y/o modificar este documento bajo los trminos
de la Licencia de Documentacin Libre GNU, Versin 1.1 o cualquier otra
versin posterior publicada por la Free Software Foundation; sin secciones
invariantes, sin texto de la Cubierta Frontal, as como el texto de la Cubierta
Posterior. Una copia de la licencia es incluida en la seccin titulada "Licencia de
Documentacin Libre GNU".
Carlos Platero Apuntes de Visin Artificial
114 Dpto. Electrnica, Automtica e Informtica Industrial

La Licencia de documentacin libre GNU (GNU Free Documentation License)
es una licencia con copyleft para contenidos abiertos. Todos los contenidos de estos
apuntes estn cubiertos por esta licencia. La version 1.1 se encuentra en
http://www.gnu.org/copyleft/fdl.html. La traduccin (no oficial) al castellano de la
versin 1.1 se encuentra en http://www.es.gnu.org/Licencias/fdles.html

También podría gustarte