Author
omar-sanchez
View
15.643
Download
1
Embed Size (px)
Tratamiento de imgenes en el dominio de la frecuencia
Transformada de FourierTransformada: Representacin alternativa de una imagen Transformada de Fourier: Cualquier seal peridica puede representarse por una suma de seales basadas en senos y cosenos con diferente amplitud, frecuencia y fase
Transformada de Fourier (II) Analoga: Prisma, separa la luz blanca en sus componentes de colores dependiendo de su longitud de onda (frecuencia)
Transformada de Fourier (III)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 evala para todas las x, despus u=1 y se evala todas las x
Transformada de Fourier (IV)Un sistema en el cual tenga solucin:Forma binmicaxyx+jyEje realEje imaginarioSea la transformada:Al aplicar la frmula de Euler:Sumas de senos y cosenos con diferente amplitud, frecuencia y fase :
Transformada de Fourier (V)Representacin de la transformada de Fourier en coordenadas polaresAmplitud o EspectroEspectro de faseEspectro de potencia
Transformada de Fourier (VI)Fs = 1000; % Frecuencia de muestreo: 1KHzT = 1/Fs; % Perodo de muestreoL = 1000; % Nmero de unidadesx = (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,*)
Grfico de la transformada de FourierA=1L=1000K=500[x, f(x)]
Transformada de Fourier (VII)[ u, |F(u)| ]Media seccin del espectro de fx>>abs(fft(fx))Detalles del grfico
Transformada de Fourier (VIII)Reconstruccin de la seal original[x, f(x)][dominio del tiempo, amplitud][ u, F(u) ][ dominio de la frecuencia, componente de frecuencia]Se calcula: Se sustituye primero x=0 y se evala para todas las u, despus x=1 y se evala todas las u Argumentos x y u: [0.. M-1]
Transformada de Fourier (IX)La transformada de Fourier de una funcin dependiente de dos variablesdonde: (x = 0,1, ..M-1) e (y = 0,1, ..N-1) (u = 0,1, ..M-1) y (v = 0,1, ..N-1) La cual puede reconstruirse a su valor originalEspacioFrecuencia
Funciones de inters 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 grfico de frecuenciasF1 = fftshift(F);
%Visualiza imshow(log(abs(F1)),[-1 5]); colormap(jet); colorbar
Fuente: Fourier Transform. Matlab
Colormapimshow(F2,[-1 5],'notruesize'); colormap(jet); colorbar
Detalle filasfigure; plot(F2(2,:)); figure; plot(F2(128,:));
Detalle columnasfigure; plot(F2(:,2)); figure; plot(F2(:,128));
Imagen y transformadas
Imagen y transformadas (II)
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 frecuenciadonde: F(u,v): transformada de Fourier de la imagen original H(u,v): Filtro atenuador de frecuenciasProducto: 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)Pasos para filtrar la imagen
Filtro pasobajo idealTamao del filtro (M, N) = (5, 5)
Centro(u, v)=(3, 3)Distancia al centro de matriz de frecuenciasFrecuencia de corteFuncinTodas las frecuencias que no estn dentro del crculo son atenuadas
0000001110011100111000000
Filtro pasobajo ideal (II)
%Representacin en el dominio de la frecuencia[f1, f2]=freqspace(25, 'meshgrid');Hd=zeros(25,25); d=sqrt(f1.^2+f2.^2)
Filtros pasobajoFiltro de Butterworth de orden nCae al 50% de su mximo en la frecuencia de corte (D(u,v)=D0)dondeCaractersticaLas transiciones a la frecuencia de corte D0 no son bruscasCae al 50% de su mximo en la frecuencia de corte (D(u,v)=D0)
Filtros pasobajo (II)Representacin 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=1n=2.5n=10
Filtros pasobajo (III)Representacin 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 =50D0 =100D0 =300
Filtros pasobajo (IV)Filtro pasobajo Gausiano dondeCaractersticaLas transiciones a la frecuencia de corte D0 no son bruscasCae al 60.7% de su mximo valor cuando (D(u,v)=D0)
Filtros pasobajo (V)Representacin 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 =50D0 =100D0 =250
El tamao de las matricesCuando se aplica un algoritmo de filtrado digital basado en la transformada de Fourier puede existir interferencia entre perodos adyacentes si los perodos estn muy prximos con respecto a la duracin de la parte de la funcin que adquiere valores diferentes de cero f(x,y) y h(x,y) tienen el tamao AxB y CxD
El tamao de las funciones resultantes sern PxQ:
Los pxeles de la extensin se rellenan con ceros
Filtro en el dominio de la frecuencia: DIPUM%Redefine el tamao de las matrices F(u) y H(u) PQ=paddedsize(size(f)); % f, imagen % Se obtiene la transformadaF=fft2(f, PQ(1), PQ(2));% Se define el filtroH=lpfilter(tipo', PQ(1), PQ(2), D0, n);% Se multiplica la transformada por el filtroG=H.*F;% Se obtiene parte real de la Transformada inversag=real(ifft2(G));% Se restituye tamao original de la imageng=g(1:size(f,1), 1:size(f,2));% Se ajustan los niveles de gris gg=gscale(g);% Se ecualiza el histogramag=histeq(gg); % Opcional
Aplicacin del Filtro de ButterworthD0 =0.01*PQ(2); % 1% del ancho de la imagen rellenada n=1
Aplicacin del Filtro de Butterworth (II)D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada n=1
Aplicacin del Filtro de Butterworth (III)D0 =0.1*PQ(2); % 10% del ancho de la imagen rellenada n=1
Aplicacin del Filtro de Butterworth (IV)D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada n=2.5
Aplicacin del Filtro de Butterworth (V)D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada n=5
Aplicacin del Filtro de Butterworth (VI)D0 =0.05*PQ(2); n=1D0 =0.01*PQ(2); n=1D0 =0.1*PQ(2); n=1D0 =0.05*PQ(2); n=2.5D0 =0.05*PQ(2); n=5
Aplicacin del Filtro GausianoD0 =0.01*PQ(2); % 1% del ancho de la imagen rellenada
Aplicacin del Filtro Gausiano (II)D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenada
Aplicacin del Filtro Gausiano (III)D0 =0.1*PQ(2); % 10% del ancho de la imagen rellenada
Filtros pasoaltoInversa de los filtros pasobajodonde:Filtro pasobajoFiltro pasoaltoLos pasos para aplicar el filtro son los mismos que los pasobajohpfilter(tipo, M, N, D0, n)
Filtros pasoalto (II)IdealButterworthGausiano
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 rellenadan=1 Filtro de Butterworth
Filtros pasoalto (V)D0 =0.05*PQ(2); % 5% del ancho de la imagen rellenadaFiltro Gausiano
Filtros pasoalto enfatizado1+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 GausianoFiltros pasoalto enfatizado (II)Filtro Gausiano enfatizado
Filtros: Diferentes tiposPromedioDiscoLaplacianoPrewitt
Filtros: Diferentes tipos (II) MovimientoLaplaciano del filtro GaussianoPrewitt