procesamiento de imágenes
DESCRIPTION
Procesamiento digital de imágenesTRANSCRIPT
-
Tema 1.4. Anlisis de imgenes digitales
- Introduccin- Procesamiento bsico de imgenes- Histograma y sus aplicaciones- Conceptos generales sobre filtrado- Filtrado en el dominio espacial- Filtrado en el dominio de la frecuencia- Filtros morfolgicos
Bibliografa
BSICA: R.C. Gonzlez y R.E. Woods, Digital Image
Processing, Prentice Hall, 2 Edicin, 2002.(caps. 3 y 4)
COMPLEMENTARIA Y OPCIONAL: G. Pajares y J.M. de la Cruz, Visin por
Computador, Ed. Ra-Ma, 2001. (caps. 2 y 6) M. Sonka et al., Image Processing, Analysis,
and Machine Vision, PWS Publishing, 1999.(cap. 4)
3
La imagen digital 2D (conceptos anteriores)
Introduccin
Dispositivo
CCD
Imagen guardada
en el computador
en un fichero
(TIFF, BMP,
JPEG )
Lente
Una imagen digital 2D es una funcin bidimensional discreta f(x,y) que se compone de un n
finito (N x M) de pxeles (picture elements).
x e y son las coordenadas del plano.
f(x,y) es la intensidad o nivel de gris en el pxel de coordenadas (x, y).
Muestreo: discretizacin espacial, pues x e y son finitas y discontinuas.
Cuantizacin: discretizacin del nivel de gris f(x,y), que toma un valor discreto [0, L-1],
donde L = N niveles = 2k (potencia de 2).
N de bits para almacenar la imagen digital: b = M x N x k (ej. Imag. de 8 bits:1024x1024x8 =
1Mbyte).
y
x
4
La imagen digital 2D (conceptos anteriores)
256 colores/canal
3 canales (R, G, B)
8 bpp/canal= 24bpp
256 colores/canal
1 canal (gris)
8 bpp
2 colores/canal
1 canal (gris)
1 bpp
Una imagen digital 2D es una funcin bidimensional discreta f(x,y) que asocia a cada
punto o pxel discreto (muestreado) un valor discreto (cuantizado) de brillo o intensidad
correspondiente.
Introduccin
Imagen en color Imagen en niveles de gris
en escala de grises
Imagen binaria
monocromtica
Valores: {0,1}Valores: {0,1,2,...,255}[0,255] [0,1]
Valores de cada canal:
{0,1,2,...,255}
[0,255] [0,1]
Muestreo:
Los valores de la intensidad de cada canal pueden normalizarse al intervalo [0,1]
-
5Introduccin
9862
9000
1003
9852
yx 0 1 2 M-1
0
1
2
N-1
F(2,0) = valor de la intensidad o nivel
de gris del pxel [0,1,2,..,L-1], L>0
=
9868
9060
1043
9852
),( yxR
=
9862
9000
1003
9852
),( yxB
=
9822
9920
1923
9852
),( yxG
Imagen en niveles de gris NxM: sean (x, y) las coordenadas discretas del dominio
espacial (coordenadas espaciales), x = 0, 1, 2, .., N-1 e y = 0, 1, 2, .., M-1, siendo
(0, 0) el origen de coordenadas. La imagen es el array numrico.
Imagen en color: un pxel posee tres componentes (R, G, B) correspondientes a las
intensidades de las componentes de color rojo, verde y azul respectivamente.
Valor de color en el pxel de coordenadas (x0 ,y0) es (R(x0,y0), G(x0,y0), B(x0,y0)).
El pxel (0, 2) es de color gris, pues sus tres componentes RGB tienen el mismo valor.
=),( yxf
La imagen digital 2D (conceptos anteriores)
6
Introduccin
Efecto del muestreo
espacial
La imagen digital 2D
Efecto de la reduccin del n de niveles de intensidad de
los canales de color (posible efecto de la cuantizacin)
Procesamiento bsico de imgenes
Tipos de procesamiento de imgenes segn su objetivo: Mejorar la calidad y/o la apariencia de la imagen original (p.e. realzado,
restauracin, etc), para ser mejor percibida visualmente por una persona.
Eliminar informacin de la imagen (no necesaria para el posterior tratamiento de la imagen para ser analizada por una mquina), resaltando otra (p.e. bordes). A este proceso se le denomina filtrado.
Comprimir la imagen para que ocupe menos memoria sin eliminar la informacin deseada.
Segmentacin de una imagen: localizar y etiquetar las distintas regiones de inters en la imagen.
Sntesis de imgenes: crear imgenes sintticas (por medio de un ordenador), de objetos o escenas a partir de otras imgenes, de primitivas geomtricas bsicas, etc. (es el objetivo de los Grficos por Computador, en ingls Computer Graphics).
Anlisis de imgenes: extraccin de informacin relevante de una
Tipos de procesamiento de imgenes segn su objetivo
Aumento del
contraste
Realzado (o
Realce)
Eliminacin de
ruido impulsional
Mejora de la imagen para su visualizacin:
-
9Restauracin: mejora de imgenes degradadas.
Tipos de procesamiento de imgenes segn su objetivo
Filtrado (de los bordes).
10
Compresin Sntesis Anlisis
Tipos de procesamiento de imgenes segn su objetivo
11
Procesamiento bsico de imgenes (contina)
Aumento del contraste
Eliminacin de ruido
Mejora de la calidad visual
Restauracin
Segmentacin
Compresin
Sntesis
Anlisis
Tipos de procesamiento segn el resultado que generan:
La entrada es una imagen y la
salida es una imagen
La entrada es una imagen y la salida
es una descripcin de los objetos
La entrada es una descripcin de la
imagen y la salida es una imagen.
12
Nivel punto
Nivel local (o de vecindad)
Nivel global
Nivel de objeto
Procesamiento bsico de imgenes
Tipos de procesamiento de imgenes
Segn el mbito del dominio en cada operacin (es decir,
segn la porcin de la imagen de entrada que se usa para
calcular cada pxel de la imagen de salida), los operadores
sobre imgenes pueden utilizar diferentes niveles de
cmputo:
-
13
La intensidad de cada pxel de la imagen de salida se calcula a partir de la intensidad del pxel de la/las imgenes de entrada situado/s en su misma posicin. Ej.:
Operaciones aritmticas Operaciones lgicas Operaciones geomtricas Operaciones de umbralizacin Transformaciones en el histograma
fA(x,y) fB(x,y)
(x,y) (x,y)
Tipos de procesamiento de imgenes (segn mbito del
dominio en cada operacin)
Nivel de punto (pxel a pxel)
14
En una operacin a nivel local la intensidad de cada pxel de la imagen resultado depende de la intensidad del pxel situado en su misma posicin en la imagen de entrada y de los vecinos de este. Ejemplos:
Interpolacin Filtrados mediante mscaras espaciales Filtrados para reducir el ruido
fA(x,y)fB(x,y)
(x,y)
Nivel local o de vecindad de pxel
Tipos de procesamiento de imgenes (segn mbito del
dominio en cada operacin)
Vecindad de un pxel: se pueden considerar distintas vecindades.
4-vecinos: vecindad de un pxel p(x,y) dada por sus 2 vecinos en su horizontal y sus 2 vecinos en su vertical (excepto si esten el borde de la imagen), de coordenadas: (x+1, y), (x-1, y), (x, y+1), (x, y-1).
8-vecinos: adems se consideran los cuatro vecinos de las diagonales de coordenadas (x+1, y+1), (x+1, y-1), (x-1,y+1), (x-1,y-1). py
x
4-vecinos de p (en azul), conjunto
denominado N4(p)
py
x
Los 8-vecinos de p (en azul) se denotan
por N8(p)
Nivel local o de vecindad de pxel (contina)
Tipos de procesamiento de imgenes (segn mbito del
dominio en cada operacin)
16
Existen ciertos operadores de nivel global que hacen
corresponder a cada pxel de la imagen resultado, un valor
que depende de toda la imagen de entrada
Ejemplos: la transformada de Fourier.
fA(x,y) fB(x,y)
(x,y)
Nivel global
Tipos de procesamiento de imgenes (segn mbito del
dominio en cada operacin)
-
17
Se procesan los pxeles de un objeto de la imagen para obtener
un valor (caracterstica del objeto).
Ejemplos:
clculo del tamao, la forma, la media de intensidad y otras
caractersticas de un objeto tiles para reconocerlo.
clculo de caractersticas del movimiento de un objeto (p.e.
direccin) en una secuencia de vdeo analizando slo las
zonas de movimiento.
Nivel de objeto
Tipos de procesamiento de imgenes (segn mbito del
dominio en cada operacin)
Procesamiento bsico de imgenes
Operaciones aritmticas entre imgenes Se llevan a cabo pxel a pxel entre los correspondientes pxeles de las
imgenes. Las imgenes operandos y resultado son del mismo tamao (MxN) Para evitar los problemas de desbordamiento se reescala el
resultado Operacin Ejemplos de usoSuma: s(x,y) = f(x,y) + g(x,y) - Superposicin de una imagen en
otra.- Reduccin del ruido de la imagen mediante la media de varias imgenes.
Resta: d(x,y) = f(x,y) - g(x,y) - Estudio del movimiento (entre imgenes consecutivas de una secuencia) mediante diferencias entre imgenes
Multiplicacin:
p(x,y) = f(x,y) g(x,y) - Correccin del sombreado
Procesamiento bsico de imgenes
Operaciones aritmticas entre imgenes: aplicaciones
Reduccin del ruido usando la media de varias imgenes
Sea g(x,y) una imagen ruidosa resultado de la adicin de ruido (x,y) a una imagen
sin ruido f(x,y): g(x,y) = f(x,y) + (x,y)
donde cada par de coordenadas (x,y) tiene ruido no correlado y por tanto el promedio
de los valores de ruido de un pxel en las distintas imgenes es cero. Este tipo de
ruido puede reducirse promediando un conjunto de k diferentes imgenes ruidosas
{gi(x,y)} de la misma escena:
donde aproxima a f(x,y).
=
=
k
i
i yxgk
yxg1
),(1
),(
),( yxg
Procesamiento bsico de imgenes
Operaciones aritmticas entre imgenes: aplicaciones
Diferencias entre imgenes. Para analizar las diferencias de vegetacin, caudal
de los ros, zonas edificadas, etc en dos imgenes satlite tomadas en distintos aos se
realiza la resta de las imgenes.
Correccin del sombreado: es posible eliminar el efecto de un sombreado
multiplicando o dividiendo una imagen por un n de veces una funcin de sombreado
f(x,y) imagen
corregida
h(x,y) funcin de
sombreado
g(x,y) imagen
original (sombreada)
g(x,y)= f(x,y)h(x,y)Si h es conocida, podemos
obtener f multiplicando la
imagen original por la inversa
de h (dividiendo g por h)
-
Procesamiento bsico de imgenes
Operaciones aritmticas entre imgenes: aplicaciones
Enmascarar una regin de inters:
Multiplicar una imagen por una imagen mscara que tiene 1s en la
regin de inters y 0s en el resto.
Una operacin aritmtica puede producir desbordamiento. Ej.: Valores de la diferencia entre 2 imgenes 8-bits/pixel: [-255, +255] Valores de la suma de 2 imgenes 8-bits/pixel: [0, 510]
Para obtener una imagen de 8-bits/pixel:Sea f una imagen resultado de una operacin aritmtica. 1) Calculamos fm (cuyo valor mnimo es 0):
fm= f-min(f)2) Reescalamos los pxeles de la imagen al rango [0,K] (p.e. para
obtener una imagen de 8 bits [0,255], K = 255).fs= K[fm /max(fm)]
Procesamiento bsico de imgenes
Operaciones aritmticas entre imgenes: reescalado de valores de pxeles
Procesamiento bsico de imgenes
Operaciones lgicas: Aplicables a imgenes binarias (que pueden
obtenerse mediante umbralizacin de una imagen de grises)
Podemos pensar que los objetos (foreground) corresponden a los pxeles 1 (blancos) y que el fondo (background) corresponde a los pxeles 0 (negros).
Tipos: not, or, and, xor Operaciones relacionales: , , , max, min, ... Aplicaciones: uso en imgenes binarias como
mscaras para deteccin de caractersticas y para
Procesamiento bsico de imgenes Ejemplos de operaciones aritmticas y
lgicas sobre imgenes en niveles de gris.
A
B
NOT(A) A or B A xor B
A and B (A+B)/2
No es binaria
max(0,A-B) (A)and [not(b)]
Los pxeles negros (menor intensidad) corresponden al nivel de gris 0 y los
pxeles blancos (mayor intensidad) al 255.
-
Procesamiento bsico de imgenes Operaciones geomtricas:
Modifican las relaciones espaciales entre pxeles de una imagen. Tipos: traslacin, escalado y rotacin. Aplicaciones: rotacin de documentos escaneados, rotacin de cdigos
de barras, rotacin de caracteres en OCR, etc Consisten en:
1) Una transformacin espacial de las coordenadas (x,y) = T(x,y), donde (x,y) son las coordenadas en la imagen original y (x,y) son las coordenadas en despus de la transformacin.
2) A veces es necesaria una interpolacin posterior de la intensidad que asigne los valores transformados a pxeles:
(x, y) son ns reales mientras que la imagen de salida tiene pxeles con coordenadas enteras. Hay que interpolar la intensidad de los pxeles de la imagen resultado.
Para expresar las transformaciones en forma matricial se usan coordenadas homogneas (x, y, 1).
Procesamiento bsico de imgenes Matrices de transformaciones geomtricas:
=
1100
00
00
1
'
'
y
x
s
s
y
x
y
x
=
1100
10
01
1
'
'
y
x
d
d
y
x
y
x
=
1100
0)cos()sen(
0)sen()cos(
1
'
'
y
x
y
x
Traslacin Escalado
Si sx , sy> 1 =>
ampliacin o
zoom.
Si sx , sy
reduccin
Rotacin alrededor
del origen de
coordenadas en un
ngulo .
Procesamiento bsico de imgenes
Ejemplo de rotacin. (a) imagen original que se desea rotar entorno al punto P de coordenadas (x,y).
(b) resultado de la primera traslacin. (c) resultado del giro. (d) resultado final de la tranf. P = F.P
(-x,-y) (x,y)
(a) (b) (c) (d)
P
Composicin de transformaciones geomtricas.Tx,y R T-x,-y =F
+
=
100
)())cos(1()cos()(
)())cos(1()()cos(
100
10
01
100
0)cos()(
0)()cos(
100
10
01
xsenysen
ysenxsen
-y
-x
sen
sen
y
x
Orden de aplicacin: 3 2 1
Interpolacin- A veces es precisa, p.e. en el zoom (donde hay que
recalcular nuevos pxeles) y en la reduccin del tamao de la imagen (para obtener mejor calidad aprovechando todos los pxeles originales).
- Se usan los datos conocidos para calcular los datos en las nuevas posiciones de la imagen
Interpolacinzoom
Procesamiento bsico de imgenes
-
Tipos de interpolacin:- Vecino ms cercano: se repite el pxel ms cercano- Interpolacin lineal: considera los 4 pxeles ms cercanos al
pxel a interpolar. Se obtiene un promedio entre estos 4 puntos para llegar a un valor interpolado. La imagen resultante es ms suave que la del vecino ms cercano. Puede causar que la imagen se vea un tanto difusa.
- Otras (que no entran en esta asignatura): Interpolacin bilineal: el valor de intensidad a calcular v(x,y)
se obtiene mediante v(x,y) = ax+by+cxy+d donde los 4 coeficientes a, b, c, d se calculan con un sistema de estas 4 ecuaciones evaluadas en los cuatro vecinos ms cercanos conocidos.
Interpolacin bicbica: considera los 16 pxeles ms cercanos al pxel (x,y) a interpolar. Se aproxima localmente el nivel de
Procesamiento bsico de imgenes
Interpolacin
original Zoom con interpolacin usando el
valor de un vecino ms cercano
(produce bordes rectos indeseados)
Zoom con interpolacin lineal
Interpolacin
Procesamiento bsico de imgenes
Transformaciones del histograma El histograma h(rk) de una imagen digital con niveles de gris en el rango [0,..L-1]
es una funcin discreta 1D que a cada nivel de gris posible rk (k = 0,..,L-1) le asigna el n de pxeles nk existentes en la imagen con ese nivel de gris:
h(rk)=nk
Puede normalizarse dividiendo cada valor nk por NxM (tamao de la imagen) para indicar la probabilidad (P[0,1]) de cada intensidad en la imagen: P(rk )= nk /(MxN)
Es una herramienta fundamental para el anlisis de imgenes, pues condensa informacin sobre la imagen (aunque pierde su localizacin espacial).
La manipulacin del histograma es sencilla y eficiente.
0 (negro) Niveles de gris 255 (blanco)
200 puntos
Definiciones Rango dinmico: conjunto de valores de intensidad presentes en
la imagen, que va desde la intensidad mnima a la mxima.
Contraste: diferencia en intensidades entre el mximo valor de intensidad presente en la imagen y el mnimo. A mayor rango dinmico, la imagen tiene ms contraste.
Transformaciones del histograma
-
Transformaciones del histograma
Transformaciones del histograma: (a) imagen original y su histograma; (b) resultado de
una operacin de disminucin de contraste; (c) resultado de aumentar el contraste.
(b)
(a)
(c)
Umbralizacin (thresholding en ingls): A cada pxel de la imagen de entrada se le otorga un 0 (negro)
un 1 (blanco) en la imagen de salida. Permite crear una imagen binaria a partir de una imagen de grises usando un umbral U.
B(i,j) = 1, si I(i,j) UB(i,j) = 0, si I(i,j) < U
El anlisis del histograma puede informarnos dnde tomar el umbral (p.e. en un mnimo)
U =127
Transformaciones del histograma
35
Umbralizacin.
Transformaciones del histograma
Funciones de transferencia Algunas de las transformaciones del histograma a nivel de
punto pueden expresarse mediante una funcin de transferencia 1D que a cada valor de intensidad de la imagen de entrada le asigna el nuevo valor de salida.
Las funciones de transferencia corresponden a curvas acotadas entre 0 y 1 en abscisa y ordenada. Ejemplo:
I(x,y) = T[I(x,y)]
Transformaciones del histograma
I: Imagen de salida
(umbralizada)
I: Imagen
de entradaT: Funcin de
transferencia
T: Funcin de
transferencia
U I(x,y)0 1
1
T[I(x,y)]
oscuros claros
T: Funcin de transferencia
-
Funciones de transferencia
Transformaciones del histograma
0 0.5 1
1
0.5
0
0 0.5 1
1
0.5
0
0 0.5 1
1
0.5
0
Cuadrado (Oscurece) Raz cuadrada Lineal(I=I)
Cada nivel de gris normalizado entre [0, 1] (eje horizontal) se transformar en otro
nivel de gris resultante (eje vertical).
Se implementan mediante tablas de consulta (Look-Up Tables, LUT en ingls)
(Aclara)
Color de entrada
0
.
i.
L-1
Color de salida
Transformaciones del histograma
Funcin logartmica: Bajos valores de intensidad (oscuros) se
transforman en valores claros. Comprime el rango de intensidades bajas,
y la inversa del logaritmo lo expande.
I T I
I(x,y) = c log(1+I(x,y)) , c = L/log(1+L)
Funciones de transferencia
Transformaciones del histograma
Funcin cuadrtican>1 (potencia): Aumenta el contraste. Variando n se obtienen distintas curvas.
n un estrecho rango de claros es mapeado en un amplio
rango de valores.
I(x,y) = c I(x,y)n ; c=1/L
Funciones de transferencia
n>1
n
-
Transformaciones del histograma
Funcin Sigmoidal: Atenuacin de valores medios
9,0,2
1),(tan
2tan
11
2),(' =
+= pi
pi
L
yxILyxI
Funciones de transferencia
Transformaciones del histograma
Amplitud de escala: aumento del rango dinmico
=
minmax
min),(),('
yxILyxI
Funciones de transferencia
Imagen negativa o inversa de una imagen:La imagen negativa I de una imagen I con niveles de intensidad en el rango [0, L-1]
se puede calcular tambin mediante la operacin resta: I(x,y) = L -1 I(x,y)
I(x,y) = T[I(x,y)]T: funcin de transferencia
I: Imagen de entrada
I: Imagen de salida
T[I(x,y)]
I(x,y)0 255
255
Transformaciones del histograma
44
N
pxeles
0 Niveles de gris 255
N
pxeles
0 Niveles de gris 255.
Transformaciones del histograma
Realzado mediante equalizacin del histograma: asigna a cada color de la escala, el mismo nmero de pxeles (en la medida de lo posible), lo que mejora la
apariencia visual de la imagen aumentando el detalle, el contraste y el rango dinmico.
-
Ecualizacin del histograma Consisten en obtener un nuevo histograma a partir del original, con una
distribucin uniforme de los diferentes niveles de intensidad, es decir, unnmero de pxeles igual para cada color.
No aumenta la informacin de la imagen. Para que la ecualizacin sea til toda la imagen debe reunir las mismas
propiedades (imagen clara u oscura), en caso contrario, conviene realizar la ecualizacin por ventanas.
Transformaciones del histograma
Ecualizacin del histograma: ejemploTransformaciones del histograma
1 2 03 3 35 4 57 7 73 7 7Imagen
original0 1 2 3 4 5 6 7
Histograma original
Niveles originales
Niveles originales
normalizados
Frecuencias absolutas
de los niveles
Frecuencias relativas de los niveles
Frecuencias relativas
acumuladas y nivel original normalizado ms prximo
Valor ecualizado
(nivel original corresp. al
normalizado anterior)
0 0/7 = 0 1 1/15 = 0,06 0,06 ~ 0 0
1 1/7 = 0,14 1 1/15 =0,06 0,12 ~ 0,14 1
2 2/7 = 0,28 1 1/15 = 0,06 0,18 ~ 0,14 1
3 3/7=0,42 4 4/15 = 0,26 0,44 ~ 0,42 3
4 4/7 = 0,57 1 1/15 = 0,06 0,5 ~ 0,57 4
5 5/7=0,71 2 2/15 = 0,13 0,63 ~ 0,57 4
6 6/7=0,85 0 0/15 =0 0,63 ~ 0,57 4
7 7/7=1 5 5/15 = 0,33 0,96 ~ 1 7
1 1 03 3 34 4 47 7 73 7 7Imagen
ecualizada0 1 2 3 4 5 6 7
Histograma ecualizado
Filtrado en el dominio espacial Transformacin de una seal de entrada (imagen I) a la que se le aplica una
funcin de transferencia T (o filtro) en la vecindad de cada pxel, para obtener una seal de salida (imagen O).
Las seales y las funciones de transferencia pueden ser discretas o continuas, aunque en el tratamiento de imgenes se usan seales y funciones discretas.
Operar en el dominio espacial es operar directamente con los valores de intensidad de los pxeles de la imagen.
Los filtros espaciales pueden ser lineales o no lineales. Los lineales pueden expresarse con una mscara espacial y se aplican
mediante una operacin de convolucin (*).
I O
T(filtro discreto)
Filtrado en el dominio espacial
Filtro lineal: Mscara espacial MxN: Ejemplo:
Esta operacin de la imagen con la mscara se denomina convolucin ( * ) y se expresa as de forma general:
1 2 3
4 5 6
7 8 9
Mscara 3x3
z1 z2 z3
z4 z5 z6
z7 z8 z9
Pxeles de la imagen I:
=
=+++=mn
k
kkmnmn zzzzR1
2211 ... Respuesta en la posicin del pxel =
),().,(),(*),(),('2
2
2
2
jyixTjiIyxTyxIyxI
N
Ni
N
Nj
== = =
-
Filtrado en el dominio espacialFiltrado lineal con mscara espacial: Consiste en aplicar en cada pxel I(x,y) la mscara espacial y mediante convolucin, a partir de su vecindad y de la mscara, calcular el pxel O(x,y) respuesta al filtro. Se aplica en cada posicin de la imagen I, de izquierda a derecha y de arriba abajo. En el borde de la imagen hay que adoptar algn convenio, pues no se puede aplicar la mscara. La carga computacional de esta operacin se reduce usando una mscara con un nmero de elementos muy inferior al tamao de la imagen.
x
y
Filtrado en el dominio espacial Filtro espacial paso bajo.
El filtrado espacial lineal paso bajo sustituye cada pxel por el promedio de intensidades de su vecindad centrada l.
El filtro paso bajo ms simple que se puede disear es una matriz de 3x3 con todos los elementos a 1.
Respuesta: suaviza la imagen reduciendo las transiciones agudas de intensidad, reduce el ruido y elimina pequeos detalles (de tamao menor que el filtro, p.e. ruido u otros irrelevantes para la etapa de segmentacin). Tambin aumenta la borrosidad de la imagen.
9
1
9
1 9
1
9
1
=
=== ==
k
k
kk
k
k zzRrespuesta
111
111
111
9
1Mscara =
Otros filtros espaciales paso bajo: Filtro GaussianoBasado en la funcin Gaussiana continua de dos variables (2D) :
, donde es la desviacin estndar.
Posee forma de campana (campana de Gauss). Filtros Gaussianos: parecido al clculo de la media, pero dando ms peso
(importancia) a los pxeles segn su distancia al centro.
Respuesta: produce una imagen menos borrosa. El emborronamiento depende de (dimetro de la campana). Suavizan, eliminan ruido.
Filtrado en el dominio espacial
=
111
121
111
10
1h
=
121
242
121
16
1h
eyx
yxh 222
2),( +
=
Filtrado en el dominio espacial
Filtrado Gaussiano
(Ntese cmo no se
aplica en los bordes)
A medida que
aumenta el tamao
del filtro:
Representacin ms
gruesa de los objetos
de inters,
desaparicin de ms
detalles pequeos
-
Filtrado en el dominio espacial
Filtrado Gaussiano
Filtros no lineales No consisten en una suma de productos (mscara lineal). La
transformacin no se realiza por convolucin de una mscara.
Filtro de mediana: Sustituye cada pxel por el valor central (mediana) de las intensidades
de la vecindad. Para ello, se ordenan nxm intensidades de la vecindad de mayor a menor y se toma el valor central.
til para eliminar el ruido aleatorio sin emborronar la imagen. Muy efectivo para el ruido impulsional (salt-and-pepper) consistente en
puntos aislados blancos y negros cuyo rea es menor que m2/2 (la mitad del tamao de la vecindad).
Ejemplo 1: Sea una vecindad 3x3: la mediana es el 5 mayor valor. Ejemplo 2: Sea una vecindad 5x5: la mediana es el 13 valor mayor. Ejemplo 3: Sean los valores de una vecindad (10,20,20,0,15, 20, 20,
25,100). Valores ordenados: (0,10,15, 20,20,20,20,25,100).
Filtrado en el dominio espacial
Filtrado en el dominio espacial
Filtro de mediana56
Ruido impulsional (o Salt and Pepper): el valor del pxel no tiene relacin con el valor ideal sino con el valor de ruido que toma valores muy altos o bajos.
Ruido Impulsional Eliminacin del ruido
Filtrado en el dominio espacial
-
Filtrado en el dominio espacial Filtro espacial paso alto.
El filtrado espacial lineal paso alto se usa para resaltar el detalle fino de la imagen, las transiciones en la intensidad, realzando los bordes.
El detalle (informacin) de una imagen est en los bordes (valores de altas frecuencias) que son aquellos pxeles alrededor de los cuales la imagen presenta una variacin brusca en los niveles de gris.
Las derivadas (primera y segunda) de una imagen I(x,y) informan de cmo se producen los cambios de intensidad en la misma.
Sea una seccin 1D horizontal de una imagen:6 6 6 6 5 4 3 2 1 1 1 1 1 1 6 6 6 6 6
6
x
rampa escaln6
5
4
3
2
1
0
Intensidad
Derivada primera: Cero en reas de intensidad constante Distinta de cero en el comienzo de escalones y rampas Distinta de cero a lo largo de las rampas Una definicin bsica: (idem para la direccin
vertical)
Imagen (perfil de
intensidad)
0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 5 0 0 0 0Derivada primera
Filtrado en el dominio espacial
Filtro espacial paso alto.
6 6 6 6 5 4 3 2 1 1 1 1 1 1 6 6 6 6 6 x
rampa escaln6
5
4
3
2
1
0
Intensidad
5
3
1
-1
-3
-5
Comienzo rampa
Final rampa Comienzo escaln
Final escaln
)()1( xfxfx
f+=
Transiciones rampa => bordes gruesos; Transiciones escaln => bordes finos
Derivada segunda: Cero en reas de intensidad constante
Distinta de cero en el comienzo y en el final de escalones y rampas
Cero a lo largo de rampas de pendiente constante
Una definicin:
xImagen (perfil de
intensidad)
0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 5 0 0 0 0
0 0 -1 0 0 0 0 1 0 0 0 0 5 -5 0 0 0
Derivada primera
Derivada segunda
Filtrado en el dominio espacial
Filtro espacial paso alto.
6 6 6 6 5 4 3 2 1 1 1 1 1 1 6 6 6 6 6
)(2)1()1(2
2
xfxfxfx
f++=
5
3
1
-1
-3
-5
Paso por cero => dos
bordes de 1 pxel con
un paso por cero =>
realza el detalle fino
La respuesta del operador derivada es proporcional a la variacin de la intensidad en el punto donde el operador se aplica.
Primera derivada: operador gradiente.
Segunda derivada: operador laplaciana.
Filtrado en el dominio espacial
yx uy
Iu
x
IyxI
rr
+
= )),((
yx uy
Iu
x
IyxIyxI
rr
2
2
2
22 )),(()),((
+
==
-
Filtrado en el dominio espacial Filtro espacial paso alto: operadores de primera
derivada. El gradiente de una imagen I(x,y) en un punto (x,y) se define
como un vector bidimensional apuntando en la direccin de variacin mxima de I en (x,y). La magnitud del vector (I(x,y))es:
y su direccin es (perpendicular al borde):
- Mscara 33 para operador de Sobel a lo largo de las direcciones vertical (x) y horizontal (y) para calcular los bordes horizontales y verticales respectivamente :
|||||| 22 yxyx ++=
=
x
ytanyx
1),(
=121
000
121
x
=101
202
101
y
Filtrado en el dominio espacial
Gradiente
Filtrado en el dominio espacial (VI) Filtro de Sobel en la direccin y (abcisa): bordes
verticales
Otros filtros basados en el gradiente:
Prewitt:
Roberts:
=10
01x
=01
10y
=111
000
111
x
=101
202
101
y
=101
101
101
y
Filtrado en el dominio espacial (VII) Filtro espacial paso alto: operadores de segunda
derivada. La laplaciana es la segunda derivada de una funcin y tambin
puede implementarse de diferentes formas. Este operador se hace cero cuando hay un mximo en la primera
derivada. Son filtros isotrpicos: la respuesta es independiente de la
direccin de las discontinuidades (invariante ante rotaciones) . El requerimiento bsico al definir la laplaciana de forma digital es
que el coeficiente asociado con el pxel central sea negativo (o positivo) y los asociados con otros pxeles sean de signo contrario.
Implementaciones:
(son filtros isotrpicos para rotaciones de 45, por tanto no es
(4-vecinos) (8-vecinos)
010
141
010
111
181
111
-
Laplaciana: Su magnitud produce dos respuestas para cada borde. Su signo determina si un pixel est en el lado claro u oscuro del
borde.
Filtrado en el dominio espacial
Detectores de bordes Los bordes son caractersticas
importantes, pues delimitan objetos. Un borde (o contorno) es un conjunto
de puntos en los cuales la intensidad de la imagen varia rpidamente.
Se pueden detectar usando las derivadas de la imagen
En la prctica los bordes son ms parecidos a una rampa de niveles que a un escaln, porque el proceso de adquisicin suaviza las transiciones.
Dos mtodos de deteccin de bordes: Buscar mximos de la primera
derivada (gradiente) Buscar cruces por cero de la
segunda derivada (Laplaciano)
Filtrado en el dominio espacial
Deteccin de bordes: Laplaciano de Gaussiana (LoG)
Para calcular los bordes en una Imagen I con ruido:1 Aplicar un filtro Gaussiano G para eliminar el ruido y suavizar la imagen +
2 Aplicar un filtro Laplaciano L para detectar los bordes (cruces por cero)
Filtrado en el dominio espacial
LoG
Angiograma
de aorta
Gradiente
Sobel
Gaussiana
= 5
Operador
Laplaciano
LoG Bordes
-
Realzado de imgenes usando la Laplaciana
Filtrado en el dominio espacial
g(x, y) = f(x,y) + c[2 f(x,y)] (se suma/sustrae a la imagen original su laplaciana)f(x,y) = imagen original;
g(x,y) = imagen resaltando bordes y discontinuidades
c = -1 si el centro de la laplaciana < 0 y el resto >=0
c = 1 si el centro de la laplaciana es >0 y el resto
-
Filtros morfolgicos Morfologa binaria
El objetivo de las transformaciones morfolgicos es la extraccin de estructuras geomtricas en los conjuntos sobre los que se opera, mediante la utilizacin de otro conjunto de forma conocida, al que se le denomina elemento estructurante.
El tamao y forma del elemento estructurante se elige, a priori, de acuerdo con la morfologa sobre la que va a interseccionar y en funcin de la obtencin de formas que se desea extraer.
Erosin: operacin en un conjunto A usando un elemento estructurante B: Crear un nuevo conjunto moviendo B sobre A tal que
el origen de B visite todos los elementos de A y en cada localizacin, si B est contenido en A marcamos esa localizacin como un miembro del nuevo conjunto resultado y si no, no es miembro del nuevo conjunto.
El resultado de estas operaciones depende del ES elegido.
Filtros morfolgicos Morfologa binaria: operaciones bsicas
Filtros morfolgicos Morfologa binaria: operaciones bsicas
Erosin. Sean A y B dos conjuntos en Z2, la erosin de A por B, denotada como AB, se define como el conjunto de puntos z tales que B trasladado a z estcontenido en A:
AB = {z / (B)z A}
Aplicaciones: adelgazamiento de objetos, separacin de objetos unidos por conexiones pequeas (p.e. letras en un texto, barras de un cdigo de barras) eliminacin de objetos de menor tamao que
A B
A B
Ejemplo de erosin usando matlab
im=imread('rice.png');
th=graythreshold(imgEnt);
imBW=im2BW(im, th);
se = strel('disk',2);
imEroBW = imerode(imBW,se);
-
Filtros morfolgicos Morfologa binaria: operaciones bsicas
Dilatacin. Sean A y B dos conjuntos en Z2, la dilatacin de A por B, denotada como AB, se define:
A B = {z / (B)z A }El elemento B es el elemento que dilata a A, y se conoce como elemento estructurante de la dilatacin.Ejemplo:
Aplicacin: engordar objetos, p.e. convertir texto en negrita, unir bordes, etc
A
BA B
Ejemplo usando Matlab
im=imread('coins.png'); th=graythresh(im);
imBW=imBW(im, th);
se = strel('disk',5);
imDilBW = imdilate(imBW,se);
imshow([imBW,imDilBW]);
Filtros morfolgicos Morfologa binaria: operaciones bsicas
Apertura. Se define como: A B = (A B) B(elimina objetos de tamao menor que B, elimina ruido)
Cierre. Se define como: A B = (A B) B
Ejemplo de aplicacin:(A B ) B
una vez eliminado ruido conla apertura, el proceso de cierreintenta recuperar una forma similar a la original.
A B
A B
A B
Filtros morfolgicos Morfologa binaria: operaciones bsicas
-
Filtros morfolgicos Morfologa binaria: operaciones bsicas
Ejemplos (Imagen de Lena con elemento estructurante de 33):
Imagen binaria Dilatacin Erosin
Apertura Cierre
Ejemplo de dilatacin y erosin en imgenes en niveles de gris
usando Matlab
im=imread(cameraman.tif');
se = strel('disk',3);
imDilG = imdilate(im,se);
imEroG = imerode(im,se);
imshow([im,imDilG, imEroG]);
Ejemplo de Apertura y cierre en imgenes en niveles de gris usando
Matlab
im=imread('rice.png');
th=graythres(im);
imBW=im2BW(im, th);
se = strel('disk',2);
imEroBW = imerode(imBW,se);
imOpenBW = imopen(imBW,se);
imshow([imBW,imEroBW, imOpenBW]);
Ejemplo de Apertura y cierre en imgenes en niveles de gris usando
Matlab
im=imread('rice.png');
th=graythres(im);
imBW=im2BW(im, th);
se = strel('disk',3);
imDilBW = imdilate(imBW,se);
imCloseBW = imclose(imBW,se);
imshow([imBW,imDilBW, imCloseBW]);
-
Ejemplo de Apertura y cierre en imgenes en niveles de gris usando
Matlab
im=imread(cameraman.tif');
se = strel('disk',3);
imOpenG = imopen(im,se);
imCloseG = imclose(im,se);
imshow([im, imOpenG, imCloseG]);
Filtrado en el dominio de la frecuencia: se transforma la imagen al dominio de la frecuencia (u,v), se filtra y posteriormente se realiza la transformada inversa de la imagen filtrada para devolverla al dominio
Ejemplo: Filtrado de los bordes
Filtrado en el dominio espacial (regin del plano donde se halla la imagen):
manipulacin de los valores de los pxeles de la imagen en el plano (x,y)
directamente, y suelen ser ms rpidos.
Filtrado en el dominio de la frecuencia
Filtrado en el dominio de la frecuencia Las representaciones en el dominio de la frecuencia, en
base a explicar cmo se repiten los pxeles de una imagen, consiguen representar la informacin de tal imagen.
Esta representacin es especialmente til, ya que teniendo la frecuencia de repeticin de los elementos que componen una imagen, se pueden apreciar y alterar directamente elementos como el ruido, los bordes, las texturas, etc.
Transformadas en el dominio de la frecuencia usadas en tratamiento de imgenes: Transformada de Fourier (funciones base: senos y
cosenos) Transformada del coseno (funciones base: cosenos) Transformadas wavelet (funciones base: Haar, Daubechies,...)
Filtrado en el dominio de la frecuenciaSeries de Fourier.
Toda funcin peridica puede representarse como una suma de senos y
cosenos con diferentes perodos y amplitudes.
Las sumas de un conjunto de funciones senos y cosenos de diferentes
frecuencias, pesados por unos coeficientes que aproximan a funciones, se
denominan series de Fourier.
El conjunto de senos y cosenos, constituye una base de funciones en el
dominio de la frecuencia (existen otras bases p.e. cosenos, wavelets etc).
La transformada de Fourier de una funcin f(x) es una extensin de las
series de Fourier a seales no peridicas.
Las funciones no peridicas cuyo rea bajo la curva es finito pueden
considerarse peridicas con perodo N (ancho de la imagen) y expresarse
como una integral de senos y cosenos multiplicados por una funcin de pesos.
Una funcin expresada mediante SF TF puede reconstruirse sin prdida de
informacin (completamente) por el proceso inverso.
=
++=1
000 )sencos()(k
kk xkbxkaaxf
-
Filtrado en el dominio de la frecuencia (IV)Desarrollo de una funcin en series de
Fourier.
La transformada de Fourier de una funcin continua e integrable de una variable real x se define por
La transformada de una funcin real es una funcin compleja.
La inversa de la transformada se define como:
Es posible trabajar en el dominio de Fourier y volver al dominio espacial sin perder informacin.
Filtrado en el dominio de la frecuencia
Transformada de Fourier de una funcin continua 1D
= dxexfuF uxj pi2)()(
= dueuFxf uxj pi2)()(
(transformada
directa)
(transformada
inversa)
Filtrado en el dominio de la frecuenciaTransformada discreta de Fourier.
Una seal discreta o muestreada es aqulla constituida por un conjunto finito de valores: F = {f(0), f(1), ... f(N-1)}.
Modificaciones con respecto a la transformada continua:1) Integrales por sumatorios.2) Cambio de variable sobre los coeficientes (an, bn),
para que la funcin se defina en un intervalo general [0,N-1] en vez de en el intervalo: [-, ].
3) Se puede utilizar la frmula de Euler:ej = cos + j sen
a fin de encontrar una notacin ms compacta, transformado el coeficiente (an, bn) en un nmero complejo.
Filtrado en el dominio de la frecuenciaTransformada discreta de Fourier 1D.
Para una seal temporal f(x) la transformada discreta de Fourier es:
siendo u la frecuencia de la seal transformada. Se ha pasado de tener una seal discreta en el
dominio espacial: f = {f(0), f(1), ... f(N-1)}, a tener una seal discreta en el de la frecuencia: F = {F(0) ,F(1), ..., F(N-1)}.
Transformada discreta inversa de Fourier:
=
=
1
0
2
)(1
)(N
x
uxN
j
exfN
uF
pi
1,...,1,0 = Nu
=
=
1
0
2
)()(N
u
uxN
j
euFxf
pi
1,...,1,0 = Nx
-
Transformada directa: Sea f(x,y) una imagen digital MxN , tal que x=0,1,...,M-1 e y=0,1,...,N-1 y f(x,y) toma valores discretos representando el nivel de gris del pxel (x,y). La transformada discreta de Fourier de la imagen consiste en una funcin F(u,v) que se evala para todos los valores de las variables discretas u y v en los rangos u=0,1,...,M-1 y v=0,1,...,N-1:
Transformada inversa: dada la TF F(u,v) podemos obtener la TF discreta inversa para x = 0,..M-1 e y = 0, ..,N-1:
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes 2D
=
=
+==
1
0
1
0
)(2
),(1
)),((),(M
x
N
y
N
vy
M
uxj
eyxfMN
yxfvuFpi
=
=
+
==1
0
1
0
)(21 ),()),((),(
M
u
N
v
N
vy
M
uxj
evuFvuFyxfpi
La transformada de Fourier de una funcin real es una funcin compleja:F(u,v)=R(u,v)+iI(u,v), donde R(u,v) e I(u,v) son la parte real e imaginaria de F(u,v).
u,v son las variables de frecuencia en las direcciones horizontal y vertical.
El mdulo de F(u,v), |F(u,v)|= (R(u,v)2+ I(u,v)2)1/2 es el espectro de Fourier.
El cuadrado del espectro |F(u,v)| 2 = R(u,v)2+ I(u,v)2 se denomina espectro de potencias o densidad espectral de f(x,y).
Su ngulo (u,v)=arctg(I(u,v)/R(u,v)) recibe el nombre de fase.
Filtrado en el dominio de la frecuencia
Transformada discreta de Fourier.
Dominio espacial
Filtrado en el dominio de la frecuencia
x
y
u
v
Dominio de la
frecuencia
f(x,y) |F(u,v)|
u
v
(u,v)
Espectro Fase
Filtrado en el dominio de la frecuenciaTransformada rpida de Fourier (FFT)
La primera optimizacin es calcular la exponencial fuera del sumatorio. Se precalcula la parte exponencial de la frmula y se almacena en un arrayprecalculado.
La segunda optimizacin se basa en calcular por separado los trminos pares e impares de la serie de Fourier. Esta optimizacin hace que para el clculo de un trmino de la serie sean necesarias slo N/2 sumas frente a N.
Por ltimo, si el nmero de valores N de la funcin a aproximar es 2k, la idea de calcular de manera independiente trminos pares e impares se puede aplicar de manera sucesiva (algoritmo de divide y vencers).
-
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes
(a) (b) (c)
Imagen de Lena (a) sobre la que se realiza una transformada de Fourier.
(b) y (c) corresponden, respectivamente, a la representacin matricial de
los mdulos y de las fases de los coeficientes de Fourier normalizados
entre 0 y 1 y en falso color. El anlisis visual de las fases no es muy til.
=
=
+==
1
0
1
0
)(2
),(1
)),((),(M
x
N
y
N
vy
M
uxj
eyxfMN
yxfvuFpi
para: u = 0, 1, 2, ,M-1 y v = 0, 1, 2,, N-1. Cada punto F(u,v) contiene sumas de
todos los valores de f(x,y) modificados por los trminos exponenciales
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes
La matriz de mdulos de coeficientes |F(u,v)| contiene informacin relativa a los valores de intensidad de la imagen (amplitudes de las sinusoides).
La matriz de fases (u,v) contiene la informacin relativa a la posicin de los pxeles (posicin de los flancos de subida y bajada de las sinusoides).
Transformada inversa de Fourier de una imagen discreta:
para: x = 0, 1, , M-1 e y =0, 1, , N-1 Si se realiza la transformada inversa usando slo la matriz de
fases se obtiene una imagen parecida al trazado de bordes de la imagen original. La transformada inversa usando slo la matriz de mdulos proporciona una imagen de manchas con tonos parecidos a los de la original.
=
=
+
==1
0
1
0
)(21 ),()),((),(
M
u
N
v
N
vy
M
uxj
evuFvuFyxfpi
PropiedadesSeparabilidad Se puede calcular la TFD de una funcin bidimensional discreta calculando primero
una TFD sobre la variable de uno de los ejes y al resultado aplicarle de nuevo la TFD sobre la variable del otro eje.
Ventaja: es posible obtener la transformada F(x,y) o la inversa f(x,y) en dos pasos, mediante la aplicacin de la Transformada de Fourier 1-D o su inversa.
Traslacin Tanto la transformada discreta de Fourier como la transformada inversa, son
peridicas de periodo N (ancho y alto de la imagen): F(u,v) = F(u+N,v) = F(u,v+N) = F(u+N,v+N).
Un caso particular de esta propiedad consiste en mover el origen de la transformada de Fourier de f(x,y) al centro de la matriz N X N que le corresponda, es decir al punto (N/2,N/2):
f(x,y)(-1)x+y se hace corresponder con F(u-n/2,v-N/2).Con esta frmula se trasladar el origen de la TF, F(0,0), al centro de la imagen, es decir al punto (N/2,N/2).
Un desplazamiento en la funcin f(x,y), no provocar un cambio en la magnitud de
Filtrado en el dominio de la frecuencia
Transformada de Fourier para imgenes
-
SimetraLa TF de una funcin f(x,y) real
es simtrica conjugada:F *(u,v) = F(u,v) =>|F(u,v)|=|F(-u,-v)| =>El espectro tiene simetra par
sobre el origen, y para calcular la magnitud de los puntos de un periodo completo, slo necesitamos calcular los N/2+1 primeros puntos, siempre y cuando el origen de la transformada est centrado en el punto (N/2,N/2) (mediante una traslacin).
Filtrado en el dominio de la frecuencia
Transformada de Fourier para imgenesPropiedades
La rotacinSi rotamos la funcin f(x,y) un ngulo determinado, la transformada de Fouriertambin ser afectada por una rotacin del mismo ngulo. Si la transformada se rota en un determinado ngulo, la transformada inversa tambin se ver rotada ese mismo ngulo.
Filtrado en el dominio de la frecuencia
Transformada de Fourier para imgenes
Propiedades
Valor promedio
Esta expresin se puede calcular a partir de la transformada de Fourier, sin ms que sustituir en la funcin F(u,v) para el punto (0,0):
=> el valor de la TF en el centro de la imagen es la media del nivel de gris de la imagen original
(punto luminosoque si se anula y luego se hace la TI aparecer oscurecida).
Escalado: a f(x,y) a F(u,v)f(ax,by) F(u/a,v/b) / |ab|
Filtrado en el dominio de la frecuencia
Transformada de Fourier para imgenes
Propiedades
-
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes
Filtros paso bajo. Eliminan altas frecuencias, dejando pasar bajas
frecuencias (aqullas por debajo una frecuencia de corte) Se ponen a cero los mdulos de los coeficientes de Fourier
relativos a las altas frecuencias, dejando sin modificar los relativos a las bajas frecuencias.
(a) (b) (c)Resultado de la transformada inversa sobre la matriz de coeficientes modificadas
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes
Filtros paso alto. Eliminan bajas frecuencias, dejando pasar altas
frecuencias. Se ponen a cero los mdulos de los coeficientes de Fourier
relativos a las bajas frecuencias, dejando sin modificar los relativos a las altas frecuencias.
Resultado de la transformada inversa sobre la matriz de coeficientes modificadas (a) (b) (c)
Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes
Filtros paso banda. Permanece inalterada una banda (o rango) de frecuencias,
Eliminacin de ruido estructural usando un filtrado paso banda
-
Filtrado en el dominio de la frecuencia (XIV)Wavelets
Las wavelets son funciones que cumplen ciertas propiedades matemticas y se usan para representar datos y otras funciones.
Permiten procesar datos a diferentes escalas o resoluciones.
El anlisis de wavelets consiste en la descomposicin de una seal arbitraria f en versiones escaladas y trasladadas de la wavelet original.
Para analizar (y aproximar) funciones usando wavelets se usa algn prototipo de funcin base o wavelet madre (Haar, Daubechies, )
Se emplearon inicialmente (Morlet, 1984) para analizar seales donde sus componentes de alta frecuencia ocurran en intervalos cortos de tiempo mientras que las componentes de baja frecuencia aparecan durante ms tiempo.
Filtrado en el dominio de la frecuencia (XV)Wavelets
Como la seal o funcin original se puede expresar mediante una combinacin lineal de funciones wavelet, solo se requieren los coeficientes de dicha expansin.
Aplicaciones sobre imgenes:
Compresin
Filtrado
Edicin multirresolucin
Bsqueda por contenido,
Similitudes entre las transformadas de Fourier y de wavelets:
Transformaciones lineales
Funciones base localizadas en frecuencia
Propiedades matemticas similares de las matrices de ambas transformaciones
Filtrado en el dominio de la frecuencia (XVI)Wavelets
Diferencias entre las transformadas de Fourier y de wavelets:
En la transformada de Fourier las funciones base son senos y cosenos; en las transformadas de wavelets las funciones de base son ms complejas podemos adems tener diferentes tipos de funciones de base).
En Fourier, las funciones base no tienen soporte compacto; las wavelets, s.
Las funciones de base wavelets estn localizadas espacialmente (adems de en frecuencia); las de Fourier, solo en frecuencia.
En el plano tiempo-frecuencia, para Fourier todas las ventanas son iguales (la resolucin del anlisis es la misma en todas las posiciones); en la transformada wavelet, al variar el tamao de las ventanas (dado por las funciones de base), podemos realizar una anlisis a distintas resoluciones.
Filtrado en el dominio de la frecuencia (XVII)Transformada wavelet
= dxxxfc nmnm )()( ,,
La transformada wavelet continua de una funcin f(x) es:
donde {m,n(x)} es una familia de bases reales y ortonormales obtenidas mediante escalado (por m) y traslacin (por n) de una funcin (x) llamada wavelet madre:
La funcin original se puede reconstruir a partir de los coeficientes cm,n(transformada inversa wavelet):
)2(2)( 2/, nxxmm
nm =
=nm
nmnm xcxf,
,, )()(
-
Filtrado en el dominio de la frecuencia (XVIII)Transformada wavelet
)2(2)( 2/, nxxmm
nm = Para construir la wavelet madre (x) es necesario primero determinar unas funciones de escalado {m,n(x)} obtenidas como:
donde (x) es una funcin de escalado base.Las funciones de escalado definen aproximaciones groseras de una funcin (a diferentes niveles de resolucin) y las funciones waveletscodifican el detalle (diferencia entre aproximaciones adyacentes).
Sean Vj=Span{j,n(x)} y Wj=Span{j,n(x)}, los subespacios generados por las funciones base de escalado y wavelet, respectivamente, para un nivel de resolucin j (para todo valor de n). Se cumple que: Vj+1=VjWjdonde denota la unin de subespacios. Se cumple que todos los elementos de Vj son ortogonales a los de Wj
Filtrado en el dominio de la frecuencia (XIX)Transformada wavelet
)2()(2)(
)2()(2)(
kxkhx
kxkhx
k
k
=
=
A su vez, cualquier funcin (x) y (x) pueden ser expresadas mediante las ecuaciones (al ser estos espacios generados por lasfunciones de escalado de resolucin inmediatamente superior):
donde solo se requieren los coeficientes h(k) y h(k) para realizar la transformada wavelet. Estos coeficientes est relacionados por la siguiente ecuacin:
)1()1()( khkh k =
Filtrado en el dominio de la frecuencia (XX)Transformada wavelet de Haar
Unas funciones de escalado {m,n(x)} y de wavelets {m,n(x)} muy usadas son las de Haar.
La transformada de Haar es separable y para ella existen implementaciones de complejidad lineal.
En ella al ser, adems, ortonormales, las bases de funciones a distintos niveles de resolucin, se tiene que la imagen transformada conserva la energa de la imagen original.
-
Filtrado en el dominio de la frecuencia (XXII)Transformada wavelet de Haar
Reconstruccin de
y=x2 usando la
expansin mediante
series de wavelets de
Haar
Filtrado en el dominio de la frecuencia (XXIII)Transformada wavelet para imgenes
Al igual que en Fourier, se pueden definir las transformadas waveletdiscreta (DWT) y rpida (FWT).
Existen diversas formas de generalizar las transformadas wavelet 1D a 2D para poder ser empleadas en imgenes. Se necesita una funcin de escalado 2D (x,y) y tres de wavelets 2D: H(x,y), V(x,y) y D(x,y), que son separables:
(x,y)=(x)(y), H(x,y)=(x)(y), V(x,y)=(x)(y), D(x,y)=(x)(y)Ahora las funciones de base 2D son:
siendo: i = {H,V,D}.
)2,2(2),( 2/,,
nymxyx jjijinmj
=)2,2(2),( 2/,, nymxyx
jjj
nmj =
Filtrado en el dominio de la frecuencia (XXIV)Transformada wavelet para imgenes
La generalizacin de las transformadas wavelet 1D a 2D para poder ser empleadas en imgenes se puede realizar eficientemente (usando la forma de la FWT):
La idea es ir alternando la transformada wavelet unidimensional (p.ej. la de Haar) sobre las filas y sobre las columnas de la imagen, obtenindose una regin que contiene los coeficientes con los valores medios de la seal (coeficientes de anlisis) y tres regiones con los coeficientes de detalle horizontales verticales y diagonales.
Posteriormente se aplica el mismo procedimiento sobre la regin de coeficientes con los valores medios.
=
=
+
=
DVHi jj
i
nmj
m n
i
nmj
m n
yxnmjWMN
yxnmjWMN
yxf
,,
,,
,,0
0
0
),(),,(1
),(),,(1
),(
Filtrado en el dominio de la frecuencia (XXV)Transformada wavelet para imgenes
Descomposicin resultante de la FWT en 2D
-
Filtrado en el dominio de la frecuencia (XXVI)Transformada wavelet para imgenes
FWT en 2D (fase de anlisis)
Filtrado en el dominio de la frecuencia (XXVII)Transformada wavelet para imgenes
FWT en 2D (fase de sntesis)
Filtrado en el dominio de la frecuencia (XXVIII)Transformada wavelet para imgenes
Imagen original nivel j (resolucin 256256) y su descomposicinj-2 usando wavelets de Haar (resolucin 6464).
Filtrado en el dominio de la frecuencia (XXIX)Transformada wavelet para imgenes: filtrado
-
Filtrado en el dominio de la frecuencia (XXX)Transformada wavelet para imgenes:
compresin