频域图像处理和图像恢复(MATLAB实验)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验项目名称:频域图像处理和图像恢复
(所属课程:图像和视频处理)
学院:专业班级:姓名:学号:实验日期:实验地点:指导教师:
本实验项目成绩:教师签字:日期:__________________ 1.实验目的
(1) 掌握频域图像处理的基本方法。
(2) 掌握图像的傅里叶变换。
(3) 掌握空域和频域图像处理的联系与区别。
(4) 掌握图像恢复的相关理论和方法。
2.实验内容
(1)显示图像’’和’’傅立叶变换的傅立叶谱图像。
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
figure,imshow(Id),title('Original Image');
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('FT of original image');
I=imread('');
Id=im2double(I);
I_dft=fft2(Id);
figure,imshow(Id),title('Original Image'); figure,imshow(log(1+abs(fftshift(I_dft))),[]),... title('FT of original image');
(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('Distance Matrix'); 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('Filtered FT');
figure,imshow(I2),title('Filtered Image');
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('Filtered FT');
figure,imshow(I2),title('Filtered Image');
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([0 2]),...
title('Butterworth high-pass filter');
DFT_filt_but=H_but_hfe .*I_dft;
I4=real(ifft2(DFT_filt_but));
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('FT of original image');
figure,imshow(log(1+abs(fftshift(DFT_filt_but))),[]),... title('Filtered FT');
figure,imshow(I4),title('Filtered Image');
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('Original Image');
figure,imshow(log(1+abs(fftshift(I_dft))),[]),...
title('DFT of original image');
figure,mesh(fftshift(dist)),title('Distance Matrix');
figure,imshow(fftshift(H_gau)),title('Gaussian low-pass');
DFT_filt_gau=H_gau .*I_dft;
I3=real(ifft2(DFT_filt_gau));
figure,imshow(log(1+abs(fftshift(DFT_filt_gau))),[]),...
title('Filtered FT');
figure,imshow(I3),title('Filtered Image');