图像处理系列:
图像处理1-经典空间域增强——灰度映射
图像处理2-经典空间域增强——直方图均衡化
图像处理3-经典空间域增强——空域滤波
图像的傅里叶变换
1.代码
? ? 首先将照片读入,然后对图像矩阵做2D-快速傅里叶变换,得到矩阵IF,对图像做中心化然后取IF的幅值并进行对数变化得到频率谱矩阵IFm,取IF的角度的到相位谱IFa,然后画出两个图(见图1)。
? ? ? ?在实际实验中发现无法直接显示出频率谱(如图1(b)),查阅IFm发现,IFm中的值普遍偏小,而且每个值的差异不大,于是我继续采用了一个线性变化灰度隐射将图像的像素值从[min,max]映射到[255minmax,max],就是另IFm=IFm·255max(IFm),从而提高整体的亮度,且提高像素和像素之间的差别,增加对比度,重新作图后相位图见图2。
path='pandas.png';%导入照片并进行灰度变换
img=imread(path);
img=rgb2gray(img);
imgf=fft2(img);%用的是2D-fft
imgfc=fftshift(imgf);%中心化
imgfcm=log(abs(imgfc));%频率普
c=255/max(max(imgfcm));
figure(1)
imshow(uint8(imgfcm)*c)%做对数变换再线性变换后显示
saveas(gcf,'频谱.jpg')
figure(2)
imgfcangle=abs(angle(imgfc));%相位谱
imshow(log(imgfcangle))%做对数变换后显示
saveas(gcf,'相位谱.jpg')
figure(3)
imshow(img)
2.效果
? ? ? ? ? ? ? ? ? ? ?? ? (a)原图? ? ? ? ? ? ? ? ? ? ? ?(b)频谱? ? ? ? ? ? ? ? ? ? ? ? (c)相位谱
图1
? ? ? ? ? ? ? (a)原图? ? ? ? ? ? ? ? ? ? ?(b)线性处理后频谱? ? ? ? ? ? ? ? ?(c)相位谱
图2
附录
panda.png
?
|