频域图像处理和图像恢复MATLAB实验.docx
《频域图像处理和图像恢复MATLAB实验.docx》由会员分享,可在线阅读,更多相关《频域图像处理和图像恢复MATLAB实验.docx(17页珍藏版)》请在冰点文库上搜索。
频域图像处理和图像恢复MATLAB实验
实验项目名称:
频域图像处理和图像恢复
(所属课程:
图像和视频处理)
学院:
专业班级:
姓名:
学号:
实验日期:
实验地点:
指导教师:
本实验项目成绩:
教师签字:
日期:
__________________
1.实验目的
(1)掌握频域图像处理的基本方法。
(2)掌握图像的傅里叶变换。
(3)掌握空域和频域图像处理的联系与区别。
(4)掌握图像恢复的相关理论和方法。
2.实验内容
(1)显示图像’’和’’傅立叶变换的傅立叶谱图像。
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
figure,imshow(Id),title('OriginalImage');
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('FToforiginalimage');
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
figure,imshow(Id),title('OriginalImage');
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('FToforiginalimage');
(2)对图像’’采用理想低通滤波器和理想高通滤波器进行处理,分析不同的滤波器得到的结果;
低通R1=35:
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
[M,N]=size(I);
dist=distmatrix(M,N);
figure,mesh(fftshift(dist)),title('DistanceMatrix');
H=zeros(M,N);
radius=35;
ind=dist<=radius;
H(ind)=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:
高通R1=30:
I=im2double(imread(''));
I_dft=fft2(I);
[M,N]=size(I);
dist=distmatrix(M,N);
H=ones(M,N);
radius=30;
ind=dist<=radius;
H(ind)=0;
a=1;b=1;
Hd=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:
采用不同的截断半径D1=20、D1=80进行处理,分析截断半径对结果的影响。
(3)对图像’’采用巴特沃斯高通滤波器进行处理,分析不同的截断频率和阶数对结果的影响。
(D1=20,D2=60;n1=2,n2=6)对图像的影响;
D1=20,n1=2:
I=im2double(imread(''));
I_dft=fft2(I);
[M,N]=size(I);
dist=distmatrix(M,N);
H=ones(M,N);
cutoff=20;order=2;
H_but=1./(1+(cutoff./dist).^(2*order));
H_but_hfe=a+(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_but))),[]),...
title('FilteredFT');
figure,imshow(I4),title('FilteredImage');
D2=60,n2=6:
(4)对图像’’采用高斯低通滤波器、高斯高通滤波器进行处理,显示其对图像处理的结果。
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
[M,N]=size(I);
dist=distmatrix(M,N);
sigma=30;
H_gau=exp(-(dist.^2)/(2*(sigma^2)));
figure,imshow(Id),title('OriginalImage');
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('DFToforiginalimage');
figure,mesh(fftshift(dist)),title('DistanceMatrix');
figure,imshow(fftshift(H_gau)),title('Gaussianlow-pass');
DFT_filt_gau=H_gau.*I_dft;
I3=real(ifft2(DFT_filt_gau));
figure,imshow(log(1+abs(fftshift(DFT_filt_gau))),[]),...
title('FilteredFT');
figure,imshow(I3),title('FilteredImage');
(5)对图像’’添加高斯噪声,分别使用空域技术和频域技术实现噪声去除,恢复图像得到较好的效果。
I=imread('');
Inf=imnoise(I,'gaussian',0,;
infd=im2double(Inf);
I_fix=nlfilter(infd,[33],@harmonic);
figure
subplot(2,3,1),imshow(I),title('original');
subplot(2,3,2),imshow(Inf),title('noise');
subplot(2,3,3),imshow(I_fix),title('harmonicfiltered');
Id=im2double(I);
i_dft=fft2(Id);
[m,n]=size(I);
dist=distmatrix(m,n);
h=zeros(m,n);
radius=35;
ind=dist<=radius;
h(ind)=1;
hd=double(h);
dft_filt=hd.*i_dft;
i2=real(ifft2(dft_filt));
subplot(2,3,4),imshow(i2),title('lowfilteredimage');
3.实验要求
(1)预习实验相关知识,了解实验目的与内容。
(2)根据实验目的和内容,制定相关的实验方案并进行实施。
(3)实验结束后,对相关内容进行总结和反思。
4.实验器材
(1)PC机及配套软件、一人一套