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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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');

相关文档
最新文档