频域图像处理和图像恢复(MATLAB实验)

  • 格式:docx
  • 大小:356.97 KB
  • 文档页数:16

实验项目名称:频域图像处理和图像恢复
(所属课程:图像和视频处理)
学院:专业班级:姓名:学号:实验日期:实验地点:指导教师:
本实验项目成绩:教师签字:日期:__________________ 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');
(5)对图像’’添加高斯噪声,分别使用空域技术和频域技术实现噪声去除,恢复图像得到较好的效果。

I=imread('');
Inf=imnoise(I,'gaussian',0,;
infd=im2double(Inf);
I_fix=nlfilter(infd,[3 3],@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('harmonic filtered');
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('low filtered image');
3.实验要求
(1) 预习实验相关知识,了解实验目的与内容。

(2) 根据实验目的和内容,制定相关的实验方案并进行实施。

(3) 实验结束后,对相关内容进行总结和反思。

4.实验器材
(1) PC机及配套软件、一人一套。