end for type = 1:length(D0) H = 1 - exp(D.^2/(2*D0(type)^2)*(-1)); f2 = f.*H; f2 = ifft2(ifftshift(f2)); subplot(2,2,type); imshow(uint8(real(f2))); title(D0(type)); end 小结 通过本次实验,掌握了频域滤波的基本原理及高斯/布特沃斯高低通滤波。 指导教师评语及成绩 评语: 成绩: 指导教师签名: 批阅日期:
华南理工大学
《数字图像处理》课程实验报告
实验题目: 数字图像复原 姓名: 学号:
班级: 组别: 合作者: 指导教师: 张星明
实验概述 【实验目的及要求】 实验目的: 了解Fourier变换、反变换的算法实现,掌握频域逆滤波和维纳滤波图像复原的方法。 实验要求: 1.用Fourier变换算法对图像作二维Fourier变换。 2.用Fourier反变换算法对图像作二维Fourier反变换。 3.频域逆滤波和维纳滤波图像复原。 【实验环境】 操作系统:Windows XP 实验平台:Matlab 实验内容 【实验过程】 一、实验步骤: 1.将BMP格式图像内容读入内存数组; 2.用快速Fourier变换算法,对图像作二维FFT变换得到G(u,v); (考虑图像为256*256,可以采用快速Fourier变换方法) 3.进行频域逆滤波和维纳滤波; 逆滤波退化函数: H(u,v)?exp[?ku?v?225/6?]F(u,v)??G(u,v)H(u,v) 维纳滤波退化函数 2?1?H(u,v)?G(u,v)2F(u,v)????H(u,v)H(u,v)?K???4.进行Fourier反变换得到g(x,y); 二、实验图像: 需要复原的图像 原图像 三、实验主要过程: 逆滤波 H = zeros(r, c); k = 0.00001; for row = 1:r for column = 1:c H(row, column) = exp(-k*(( row-r/2)^2+( column -c/2)^2)^(5/6)); end end f = fftshift(fft2(double(pic))); f = f./H; f = ifft2(ifftshift(f)); f = uint8(real(f)); imshow(f);
相关推荐: