实验报告4:图像的频域处理
(1)对图像进行DFT: DFT后的输出:
DFT所用代码:
pic1=fft2(imread('lines.png')); pic2=fft2(imread('rice.tif')); pic11=fftshift(pic1); pic22=fftshift(pic2); Pic1=log(1+abs(pic11)); Pic2=log(1+abs(pic22)); subplot(1,2,1), imshow(Pic1,[]); title('lin.png');
subplot(1,2,2), imshow(Pic2,[]); title('rice.tif');
图片中并没有明显的水平和垂直内容,而DFT后却存在水平和垂直分量的原因:
原图的边缘出现了明显的不连续,因此进行DFT后会出现强烈的水平和垂直方向分量。
解决方法为在图像中加入汉明窗算法,用来过滤掉图片中的高频部分,并使得图像边缘的不连续情况得到改善,因此加入汉明窗后处理的图像频谱中,水平分量和垂直分量得到了明显的减少。
改进后代码:
img=imread('lines.png'); img=im2double(img); [h,w]=size(img);
window=hamming(h)*hamming(w)'; IMG=img.*window; FIMG=fft2(IMG); subplot(1,2,1)
imshow(IMG,[]); title('加窗后图像'); subplot(1,2,2)
imshow(log(1+abs(FIMG)),[]);title('加窗后的频谱图');
改进后的频谱图:
(2)选取一张灰度图片,并进行操作: 原图: