tratamiento de imágenes en el dominio de la...

Post on 13-Oct-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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)

Analogía: Prisma, separa la luz

blanca en sus componentes de

colores dependiendo de su longitud de

onda (frecuencia)

Transformada de Fourier (III)

1

0

/2)(1

)(M

x

MuxjexfM

uF

La transformada discreta de Fourier de una variable:

[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)

Representación de la transformada de Fourier

en coordenadas polares

)()()( ujeuFuF

22)( uIuRuF Amplitud o Espectro

uR

uIu 1tan Espectro de fase

222)( uIuRuF Espectro de potencia

Transformada de Fourier (VI)

Fs = 1000; % Frecuencia de muestreo: 1KHz

T = 1/Fs; % Período de muestreo

L = 1000; % Número de unidades

x = (0:L-1)*T; x=x’; % Vector de tiempo (x)

K=500; % Amplitud (unos)

a=ones(K,1); b=zeros(L-K,1); fx=[a; b]; plot(x,fx,’*’)

Gráfico de la transformada de Fourier

A=1

L=1000

K=500[x, f(x)]

Transformada de Fourier (VIII)

Reconstrucción de la señal original

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

amplitud]

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

componente de frecuencia]

1

0

/2)(1

)(M

u

MuxjeuFM

xf

Se calcula: Se sustituye primero x=0 y se evalúa para todas las u,

después x=1 y se evalúa todas las u …

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

Transformada de Fourier (IX)

La transformada de Fourier de una función

dependiente de dos variables

1

0

1

0

)//(2),(1

),(M

x

N

y

NvyMuxjeyxfMN

vuF

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 figura

f = zeros(30,30);

f(5:24,13:17) = 1;

% Aplica la transformada de Fourier

F = 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

Filtros 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

Producto: Se realiza el producto de cada componente de H(u,v)F(u,v).

Cuando F(u,v) es imaginario se multiplica H(u,v) por ambos componentes

Filtro en el dominio de la frecuencia (II)

Imagen de

entradaf(x,y)

Transfor-mada de FourierF(u,v)

Filtro

H(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

12Filtro

-1

0

1

2

3

4

5

Filtro pasobajo ideal

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

Tamaño del filtro

(M, N) = (5, 5)

Centro

(u, v)=(3, 3)

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

Distancia al centro de matriz de frecuencias

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

0

0

),(0

),(1),(

DvuDsi

DvuDsivuH

),(0 vuDD

Frecuencia de corte

Función

Todas las frecuencias que no estén

dentro del círculo son atenuadas

%Representación en el dominio de la 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.5

0

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

10

0.2

0.4

0.6

0.8

1

Filtro pasobajo ideal (II)

Filtros pasobajo

nDvuD

vuH2

0/),(1

1),(

Filtro de Butterworth de orden nCae al 50% de su máximo en la frecuencia de corte (D(u,v)=D0)

donde

Característica

Las transiciones a la frecuencia

de corte D0 no son bruscas

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

Cae al 50% de su máximo en la frecuencia de corte (D(u,v)=D0)

Filtros pasobajo (II)

Representación del filtro de Butterworth lpfilter(tipo, M, N, D0, n)

Gonzalez,R.; Woods, R.; Eddins, S.: Digital Image Processing using Matlab. Prentice Hall.2004.

>>H=fftshift(lpfilter('btw', 500, 500, 50, 1))

>>mesh(H(1:10:500, 1:10:500))

n=1 n=2.5 n=10

Filtros pasobajo (III)

Representación del filtro de Butterworth lpfilter(tipo, M, N, D0, n)

Gonzalez,R.; Woods, R.; Eddins, S.: Digital Image Processing using Matlab. Prentice Hall.2004.

>>H=fftshift(lpfilter('btw', 500, 500, 50, 1))

>>mesh(H(1:10:500, 1:10:500))

D0 =50 D0 =100 D0 =300

Filtros pasobajo (IV)

20

2 2/),(),(

DvuDevuH

Filtro pasobajo Gausiano

donde

Característica

Las transiciones a la frecuencia

de corte D0 no son bruscas

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

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

Filtros pasobajo (V)

Representación del filtro Gausianolpfilter(tipo, M, N, D0, n)

Gonzalez,R.; Woods, R.; Eddins, S.: Digital Image Processing using Matlab. Prentice Hall.2004.

>>H=fftshift(lpfilter(‘gaussian', 500, 500, 50))

>>mesh(H(1:10:500, 1:10:500))

D0 =50 D0 =100 D0 =250

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 DBQ

Los píxeles de la extensión se rellenan con ceros

Filtro en el dominio de la

frecuencia: DIPUM%Redefine el tamaño de las matrices F(u) y H(u)

PQ=paddedsize(size(f)); % f, imagen

% Se obtiene la transformada

F=fft2(f, PQ(1), PQ(2));

% Se define el filtro

H=lpfilter(‘tipo', PQ(1), PQ(2), D0, n);

% Se multiplica la transformada por el filtro

G=H.*F;

% Se obtiene parte real de la Transformada inversa

g=real(ifft2(G));

% Se restituye tamaño original de la imagen

g=g(1:size(f,1), 1:size(f,2));

% Se ajustan los niveles de gris

gg=gscale(g);

% Se ecualiza el histograma

g=histeq(gg); % Opcional

Aplicación del

Filtro de Butterworth

D0 =0.01*PQ(2); % 1% del ancho de la imagen rellenada

n=1

Aplicación del

Filtro de Butterworth (II)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

n=1

Aplicación del

Filtro de Butterworth (III)

D0 =0.1*PQ(2); % 10% del ancho de la imagen rellenada

n=1

Aplicación del

Filtro de Butterworth (IV)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

n=2.5

Aplicación del

Filtro de Butterworth (V)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

n=5

Aplicación del

Filtro de Butterworth (VI)D0 =0.05*PQ(2); n=1D0 =0.01*PQ(2); n=1 D0 =0.1*PQ(2); n=1

D0 =0.05*PQ(2); n=2.5 D0 =0.05*PQ(2); n=5

Aplicación del Filtro Gausiano

D0 =0.01*PQ(2); % 1% del ancho de la imagen rellenada

Aplicación del Filtro Gausiano (II)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

Aplicación del Filtro Gausiano (III)

D0 =0.1*PQ(2); % 10% del ancho de la imagen rellenada

Filtros pasoalto

pbpa vuHvuH ),(1),(

Inversa de los filtros pasobajo

donde:

pavuH ),(

Filtro pasobajo

Filtro pasoalto

pbvuH ),(

Los pasos para aplicar el filtro

son los mismos que los pasobajo

hpfilter(tipo, M, N, D0, n)

Filtros pasoalto (II)

Ideal

Butterworth

Gausiano

Filtros pasoalto (III)

D0 =0.009*PQ(2); % .9% del ancho de la imagen rellenada

Filtro Ideal

Filtros pasoalto (IV)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

n=1

Filtro de Butterworth

Filtros pasoalto (V)

D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada

Filtro Gausiano

Filtros pasoalto enfatizado

papa vubHavuH ),(),(

1+3*hpfilter(‘gaussian’, M, N, D0)

a: Incorpora componente de directa (H(0,0) ≠ 0)

b: Enfatiza el filtro de alta frecuencia

D0 =0.05*PQ(2); Filtro Gausiano

Filtros pasoalto enfatizado (II)

Filtro Gausiano enfatizado

papa vuHvuH ),(25.0),(

Filtros: Diferentes tiposPromedio Disco

Laplaciano Prewitt

Filtros: Diferentes tipos (II)

Movimiento Laplaciano del filtro Gaussiano

Prewitt

top related