imagen filtrado frecuencial

31
Tratamiento de imágenes en el dominio de la frecuencia

Upload: omar-sanchez

Post on 13-Jul-2015

15.648 views

Category:

Technology


1 download

TRANSCRIPT

Tratamiento de imágenes en el dominio de la

frecuencia

Transformada de Fourier

Transformada: Representación alternativa de una imagen

Transformada de Fourier: Cualquier señal periódica puede representarse por una suma de señales basadas en senos y cosenos con diferente amplitud, frecuencia y fase

Transformada de Fourier (II)

Transformada de Fourier (III)

1

0

/2)(1

)(M

x

MuxjexfM

uF

La transformada discreta de Fourier:

[x, f(x)][dominio del tiempo,

amplitud]

[ u, F(u) ][ dominio de la frecuencia, componente de frecuencia]

Argumentos x y u: [0.. M-1]

Se calcula: Se sustituye primero u=0 y se evalúa para todas las x, después u=1 y se evalúa todas las x …

Transformada de Fourier (IV)

012 xUn sistema en el cual tenga solución: 1j

Forma binómica

x

y

x+jy

Eje real

Eje imaginario Sea la transformada:

1

0

/2)(1

)(M

x

MuxjexfM

uF

Al aplicar la fórmula de Euler:

sincos je j

Sumas de senos y cosenos con diferente amplitud, frecuencia y fase :

1

0

)]/2()/2)[cos((1

)(M

x

MuxjsenMuxxfM

uF

Transformada de Fourier (V)

1

0

)]/2sin()/2)[cos((1

)(M

x

MuxjMuxxfM

uF

Fs = 1000; % Frecuencia de muestreo: 1KHzT = 1/Fs; % Período de muestreoL = 1000; % Número de unidadesx = (0:L-1)*T; % Vector de tiempo (x)

Interpretación de la entrada (x)

Interpretación de la salida (F(u))

>> a=1+i*1 1.0000 + 1.0000i>> abs(a) 1.4142>> sqrt(2)

Valor absoluto del número imaginario(forma polar)

Transformada de Fourier (VI)

0 20 40 60 80 100 120 140 160 180 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 5 10 15 20 25 30 35 40 45 500

10

20

30

40

50

60

70

80

90

100

[x, f(x)] [ u, F(u) ]

>>log(abs(fft(escalón)))

Espectro de FourierReduce la magnitud

de salida

Transformada de Fourier (VII)La transformada de Fourier de una función

dependiente de dos variables

1

0

)//(21

0

),(),(M

x

NvyMuxjN

y

eyxfvuF

donde: (x = 0,1, ..M-1) e (y = 0,1, ..N-1) (u = 0,1, ..M-1) y (v = 0,1, ..N-1)

1

0

)//(21

0

),(1

),(M

u

NvyMuxjN

v

evuFMN

yxf

La cual puede reconstruirse a su valor original

Espacio Frecuencia

Funciones de interés de MATLAB

% Crea figuraf = zeros(30,30);f(5:24,13:17) = 1;% Aplica la transformada de FourierF = fft2(f,256,256);

% Mueve el origen de la transformada al centro del gráfico de frecuencias

F1 = fftshift(F);

%Visualiza imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar

Fuente: Fourier Transform. Matlab

1

0

)//(21

0

),(),(M

x

NvyMuxjN

y

eyxfvuF

Colormap

-1

0

1

2

3

4

5

imshow(F2,[-1 5],'notruesize'); colormap(jet); colorbar

Detalle filas

figure; plot(F2(2,:)); figure; plot(F2(128,:));

0 50 100 150 200 250-6

-5

-4

-3

-2

-1

0

1Fila 2

0 50 100 150 200 250-1

0

1

2

3

4

5Fila 128

-1

0

1

2

3

4

5

Detalle columnas

figure; plot(F2(:,2)); figure; plot(F2(:,128));

-1

0

1

2

3

4

5

0 50 100 150 200 250-4

-3

-2

-1

0

1

2

3Columna 2

0 50 100 150 200 250-2

-1

0

1

2

3

4

5Columna 128

Imagen y transformadas

-1

0

1

2

3

4

5

-1

0

1

2

3

4

5

Imagen y transformadas (II)

-1

0

1

2

3

4

5

-1

0

1

2

3

4

5

Filtro en el dominio de la frecuencia

Componente de alta frecuencia en una imagen: Transiciones bruscas en niveles de gris

Suavizado: Eliminar las componentes de alta frecuencia

Filtro en el dominio de la frecuencia

),(),(),( vuFvuHvuG

donde: F(u,v): transformada de Fourier de la imagen original H(u,v): Filtro atenuador de frecuencias

Filtro en el dominio de la frecuencia (II)

Imagen de

entradaf(x,y)

Transfor-mada de FourierF(u,v)

FiltroH(u,v)* F(u,v)

Transfor-mada

inversa de Fourier

Imagen filtrada

Pasos para filtrar la imagen

Figura original Figura resultante

Transformada de Fourier

2

3

4

5

6

7

8

9

10

11

12

Filtros: Cuadrado

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

1.2 D(u,v)

D0

(u,v)

0

0

),(0

),(1),(

DvuDsi

DvuDsivuH

Para una matriz MxN:Centro = (u, v) = (M/2, N/2)

0 0 0 0 0 0 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 0 0 0 0 0 0D0 = 3

Filtros: Circular

0 0 0 0 0

0 1 1 1 0

0 1 1 1 0

0 1 1 1 0

0 0 0 0 0

Supóngase la siguiente matriz(M, N) = (5, 5)

Centro(u, v)=(3, 3)

])2/()2/[(),( 22 NvMuvuD

Distancia al centro de matriz de frecuencias

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

Representación del Filtro en el dominio de la frecuencia

%Representación dominio frecuencia[f1, f2]=freqspace(25, 'meshgrid');Hd=zeros(25,25); d=sqrt(f1.^2+f2.^2)<.75;Hd(d)=1;mesh(f1,f2,Hd);

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

Filtros: Algunas expresiones

nDvuDvuH

20/),(1

1),(

Filtro de Butterworth de orden n: Cae al 50% de su máximo valor cuando D(u,v)=D0)

20

2 2/),(),( DvuDevuH

Filtro pasobajo Gaussiano: Cae al 60.7% de su máximo valor cuando D(u,v)=D0)

-1

-0.50

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

Fx

Fy

Magnitude

Filtros: Diferentes tiposPromedio Disco

Laplaciano Prewitt

Filtro PromedioFigura original Promedio

Filtro GaussianoFigura original Gaussiano

Filtros: Diferentes tipos (II)

Movimiento Laplaciano del filtro Gaussiano

Prewitt

Filtro MovimientoFigura original Movimiento

Transiciones horizontales y verticales

Premia transiciones verticales "prewitt" Premia transiciones horizontales "prewitt"

El tamaño de las matrices

Cuando se aplica un algoritmo de filtrado digital basado en la transformada de Fourier puede existir interferencia

entre períodos adyacentes si los períodos están muy próximos con respecto a la duración de la parte de la

función que adquiere valores diferentes de cero

f(x,y) y h(x,y) tienen el tamaño AxB y CxD

El tamaño de las funciones resultantes serán PxQ:

1 CAP 1 DBQLos píxeles de la extensión se rellenan con ceros

Filtro en el dominio de la frecuencia: Matlab

%Recalcula la magnitud que tendrá F y H %(llenará ceros)PQ=paddedsize(size(f)); % DIPUM

% Se obtiene la transformadaF=fft2(f, PQ(1), PQ(2));

% Se define el filtroh=fspecial('gaussian', 100);

% Se filtra y se calcula la Transformada inversag=real(ifft2(H1.*F1));

Filtro en el dominio de la frecuencia: Matlab (II)

Figura originalTransformada de Fourier

2

3

4

5

6

7

8

9

10

11

12

Filtro

-1

0

1

2

3

4

5

Imagen resultante

Filtro en el dominio de la frecuencia

Filtros pasobajo: “suavizan” las transiciones de grises filtros pasoaltos: Enfatizan las transiciones de grises

Figura original Disco Laplaciano de filtro gausiano

Filtro en el dominio de la Frecuencia Vs Espacio

%Recalcula la magnitud que tendrá F y H (llenará ceros)PQ=paddedsize(size(f));% Se obtiene la transformadaF=fft2(f, PQ(1), PQ(2));% Se define el filtroh=fspecial('gaussian', 100);% Se filtra y se calcula la Transformada inversag=real(ifft2(H1.*F1));

Frecuencia

Espacio

h=fspecial('gaussian', 100);gs=imfilter(f, h);