⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fouriertodos.m

📁 homomorfic filter image
💻 M
字号:
function [b new_mag]=Fouriertodos(imag_in)
%function [new_mag]=Fouriertodos(I)
%Funcion que calcula la transformada de Fourier de una imagen I y devuelve la FFT de la imagen
%La Funcion muestra 3 ventanas graficas: En la primera, aparecen la imagen original
%y la magnitud de su Transformada de Fourier, ambas en dos dimensiones (2D). En la 
%segunda ventana se ve la imagen original en 3D, y en la tercera la magnitud de su 
%trasformada de Fourier tambien en 3D.
%
%Los tipos de variables que se manejan son:
%I:   Nombre archivo de imagen de entrada - String
%b:   Matriz de salida, correspondiente a la transformada de
%     Fourier de la imagen de entrada - Matriz double - tama駉 igual al de entrada
%Ej:
%Fourier=Fouriertodos('pout.tif')
%devuelve en Fourier la FFT de la imagen 'pout.tif'
%Fourier es entonces una matriz cuyo tama駉 es igual al de la matriz
%de la imagen de entrada.
%close all;
%imag_in=imread(I);
[nf,nc]=size(imag_in);
%Calculo de Transformada de Fourier
bt=fft2(double(imag_in));
%Desplazamiento de TF
b=fftshift(bt);
%Calculo de la magnitud Transformada de Fourier
mag=abs(b);
%Modificacion del rango dinamico desde 0 a 255 para magnitud
%valor maximo de la magnitud de TF
maxmag=max(max(mag));
%valor minimo
minmag=min(min(mag));
%Ajuste del cero
mag=mag-minmag;
%Reduccion rango dinamico
c=255/log(maxmag-minmag);
new_mag=c*log(1+mag);
%Visualizacion 2D
%subplot(1,2,1);
%imshow(uint8(imag_in)),title('Imagen Entrada');
%xlabel('C. Espacial Y'),ylabel('C. Espacial X'),colorbar;
%subplot(1,2,2);
%imshow(uint8(new_mag)),title('Magnitud Transformada');
%xlabel('C. Frecuencial'),ylabel('C. Frecuencial'),colorbar;
%Visualizacion 3D
%imagen de origen
%figure
%surfl(double(imag_in)),title('Imagen Original - 3D');shading interp;
%colormap(gray);
%xlabel('Coordenadas Y'),ylabel('Coordenadas X'),zlabel('Nivel de gris');
%Transformada
% for i=1:nf
% x(i,1:nc)=(-floor(nc/2):round(nc/2)-1);
% end
% for i=1:nc
% y(1:nf,i)=(-floor(nf/2):round(nf/2-1))';
% end
%x y y son matrices definidas para la correcci髇 de la numeraci髇 de los ejes frecuenciales
%figure
%surfl(x,y,double(new_mag)),title('M. Transformada - 3D');shading interp;
%colormap(gray);
%xlabel('Frecuencia'),ylabel('Frecuencia'),zlabel('Magnitud T.F. Normalizada');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -