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

📄 fretrans.m

📁 用matlab简单实现傅里叶变换的源程序
💻 M
字号:
%傅里叶变换
function res = FreTrans(ImageFile)
src = imread(ImageFile);%读入一幅图片  src = imread('bottle.bmp');
[SizeY,SizeX] = size(src);%SizeY:垂直方向;SizeX:水平方向
%进行处理的图片大小必须是2的倍数,最大2^10=1024
for i = 1:10
    if(2^i > SizeX)
        SizeX = 2^(i-1);
        break;
    end
end
for i = 1:10
    if(2^i > SizeY)
        SizeY = 2^(i-1);
        break;
    end
end
%进行傅里叶处理的图像大小
src = src(1:SizeY,1:SizeX);

%SizeMax = max([SizeX,SizeY]);
freqres = zeros(SizeY,SizeX,'uint8');%把傅里叶变换后的矩阵存入freqres
%进行傅里叶变换
fftres = fft2(double(src));
%中心转移到频率矩阵的中心
fftres = fftshift(fftres,2);
fftres = fftshift(fftres,1);
%频谱的动态范围相比8比特显示大的处理
for i = 1:SizeY
    for j = 1:SizeX
         temp = abs(fftres(i,j)/100);
         if temp > 255
             temp = 255;
         end
         freqres(i,j) = temp;
    end
end
imshow(freqres);%显示傅里叶变换后图像 imshow(src);


⌨️ 快捷键说明

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