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

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

Transcript of Tratamiento de imágenes en el dominio de la...

Page 1: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Tratamiento de imágenes

en el dominio de la

frecuencia

Page 2: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 3: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Transformada de Fourier (II)

Analogía: Prisma, separa la luz

blanca en sus componentes de

colores dependiendo de su longitud de

onda (frecuencia)

Page 4: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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 …

Page 5: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 6: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 7: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 9: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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]

Page 10: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 11: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 12: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Colormap

-1

0

1

2

3

4

5

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

Page 13: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 14: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 15: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Imagen y transformadas

-1

0

1

2

3

4

5

-1

0

1

2

3

4

5

Page 16: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Imagen y transformadas (II)

-1

0

1

2

3

4

5

-1

0

1

2

3

4

5

Page 17: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 18: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 19: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 20: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 21: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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)

Page 22: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 23: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 24: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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)

Page 25: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 26: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 27: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 28: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del

Filtro de Butterworth

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

n=1

Page 29: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del

Filtro de Butterworth (II)

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

n=1

Page 30: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del

Filtro de Butterworth (III)

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

n=1

Page 31: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del

Filtro de Butterworth (IV)

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

n=2.5

Page 32: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del

Filtro de Butterworth (V)

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

n=5

Page 33: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 34: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del Filtro Gausiano

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

Page 35: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del Filtro Gausiano (II)

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

Page 36: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Aplicación del Filtro Gausiano (III)

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

Page 37: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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)

Page 38: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros pasoalto (II)

Ideal

Butterworth

Gausiano

Page 39: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros pasoalto (III)

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

Filtro Ideal

Page 40: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros pasoalto (IV)

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

n=1

Filtro de Butterworth

Page 41: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros pasoalto (V)

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

Filtro Gausiano

Page 42: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

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

Page 43: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

D0 =0.05*PQ(2); Filtro Gausiano

Filtros pasoalto enfatizado (II)

Filtro Gausiano enfatizado

papa vuHvuH ),(25.0),(

Page 44: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros: Diferentes tiposPromedio Disco

Laplaciano Prewitt

Page 45: Tratamiento de imágenes en el dominio de la frecuenciamicroconverterkits.com/uploads/3/4/.../imagen_filtrado_frecuencial.pdf · Transformada de Fourier (II) Analogía: Prisma, separa

Filtros: Diferentes tipos (II)

Movimiento Laplaciano del filtro Gaussiano

Prewitt