数字图像第三次作业 第 1 页 共 12 页 数字图像第三讲作业 1
绘制一幅人像或风景图像的幅频图及相频图,并由幅频图及相频图重建空间域图像
(使用fft2,ifft2,fftshift函数) 分析:fft2 函数可以用来对图相求二维傅里叶变换,fft2 作用后得到的只是很大的,要先对它除以图像的像素点个数m*n 再进行幅频响应与相频响应的求解
这是得到的频率响应是以(0,0)像素点为频率零点的,我们知道频率响应是关于原点对称的,因此在 fft2 后通过 ifft2 可将频率原点移至图像中心点,这样便于对频响的对称性进行观察
abs 函数得到幅频度,可经 log 调整为人眼敏感的范围,如:mag=log(1+50*abs(I2));相频响应可由angle 函数获得
最后通过 fftshift 函数可对频率响应进行空间域图像的重建
代码及注释如下: function fuliye(x) I=imread(x); [m,n]=size(I); I1=fft2(single(I)); %fft2 函数要求输入矩阵为 single 或double 型 I2=fftshift(I1/m/n); mag=log(1+50*abs(I2)); %abs 函数得到幅度,经 log 调整为人眼敏感的范围 phase=angle(I2); %angle 函数得到相角 imshow(mag);title('幅频图') figure imshow(phase);title('相频图') I3=uint8(ifft2(I1)); %ifft2 进行二维傅里叶反变换 figure imshow(I3);title('原图') figure I4=uint8(ifft2(abs(I1))); %仅对傅里叶变换的幅值进行反变换 imshow