资源描述:
《频域图像处理和图像恢复(matlab实验)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验项目名称:频域图像处理和图像恢复(所属课程:图像和视频处理)学院:专业班级:姓名:学号:实验日期:实验地点:指导教师:本实验项目成绩:教师签字:日期:__________________1.实验目的(1)掌握频域图像处理的基本方法。(2)掌握图像的傅里叶变换。(3)掌握空域和频域图像处理的联系与区别。(4)掌握图像恢复的相关理论和方法。2.实验内容(1)显示图像’eight.tif’和’cameraman.tif’傅立叶变换的傅立叶谱图像。I=imread('eight.tif');Id=im2double(I);I_dft=fft2(
2、Id);figure,imshow(Id),title('OriginalImage');figure,imshow(log(1+abs(fftshift(I_dft))),[]),...title('FToforiginalimage');16I=imread('cameraman.tif');Id=im2double(I);I_dft=fft2(Id);figure,imshow(Id),title('OriginalImage');figure,imshow(log(1+abs(fftshift(I_dft))),[]),...tit
3、le('FToforiginalimage');16(2)对图像’eight.tif’采用理想低通滤波器和理想高通滤波器进行处理,分析不同的滤波器得到的结果;低通R1=35:I=imread('eight.tif');Id=im2double(I);I_dft=fft2(Id);[M,N]=size(I);16dist=distmatrix(M,N);figure,mesh(fftshift(dist)),title('DistanceMatrix');H=zeros(M,N);radius=35;ind=dist<=radius;H(in
4、d)=1;Hd=double(H);DFT_filt=Hd.*I_dft;I2=real(ifft2(DFT_filt));figure,imshow(log(1+abs(fftshift(DFT_filt))),[]),...title('FilteredFT');figure,imshow(I2),title('FilteredImage');R2=80:16高通R1=30:I=im2double(imread('eight.tif'));I_dft=fft2(I);[M,N]=size(I);dist=distmatrix(M,N);
5、H=ones(M,N);radius=30;ind=dist<=radius;H(ind)=0;a=1;b=1;16Hd=double(a+(b.*H));DFT_filt=Hd.*I_dft;I2=real(ifft2(DFT_filt));figure,imshow(log(1+abs(fftshift(DFT_filt))),[]),...title('FilteredFT');figure,imshow(I2),title('FilteredImage');R2=80:16采用不同的截断半径D1=20、D1=80进行处理,分析截断半
6、径对结果的影响。(3)对图像’cameraman.tif’采用巴特沃斯高通滤波器进行处理,分析不同的截断频率和阶数对结果的影响。(D1=20,D2=60;n1=2,n2=6)对图像的影响;D1=20,n1=2:I=im2double(imread('cameraman.tif'));I_dft=fft2(I);[M,N]=size(I);dist=distmatrix(M,N);16H=ones(M,N);cutoff=20;order=2;H_but=1./(1+(cutoff./dist).^(2*order));H_but_hfe=a
7、+(b.*H_but);figure,mesh(fftshift(H_but_hfe)),zlim([02]),...title('Butterworthhigh-passfilter');DFT_filt_but=H_but_hfe.*I_dft;I4=real(ifft2(DFT_filt_but));figure,imshow(log(1+abs(fftshift(I_dft))),[]),...title('FToforiginalimage');figure,imshow(log(1+abs(fftshift(DFT_filt_b
8、ut))),[]),...title('FilteredFT');figure,imshow(I4),title('FilteredImage');1616D2=60,n2=6: