文档详情

matlab数字图像处理.doc

发布:2017-02-02约9.4千字共16页下载文档
文本预览下载声明
中 国 地 质 大 学 课程设计 课程名称 数字图像处理 教师姓名 傅华明 学生姓名 学生学号 学生班级 数字图像处理报告 实验要求: 已知一图象p2-04-01,经过低通滤波得到其退化图象p2-04-02。采用逆滤波方式将其重新复原。低通滤波器采用两种:(1)巴特沃茨滤波器(2)高斯滤波器,其截止频率自行设定。 原理分析: 此题先进行傅立叶变换后高通滤波,再傅立叶反变换得到退化图象,再傅立叶变换,最后逆滤波。这里要用到傅立叶变换,低通滤波及图象复原知识。 傅立叶变换 傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换。 离散傅立叶(Fourier)变换的定义: 二维离散傅立叶变换(DFT)为:    逆变换为: 式中, 在DFT变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为: 图像的傅立叶变换有快速算法。 逆滤波: 则 1/H(u,v)称为逆滤波器。对上式再进行傅立叶反变换可得到f(x,y)。但实际上碰到的问题都是有噪声的,因而只能求F(u,v)的估计值: 然后再作傅立叶逆变换,得  程序: %**********************显示图像********************% f = imread(p2-04-01.bmp); subplot(3,4,1); imshow(f);title(原始图像); c = imread(p2-04-02.bmp); subplot(3,4,2); imshow(c);title(低通滤波后退化图像); F = fft2(f); % 求原始图像的傅里叶变化 F = fftshift(F); % 将傅里叶变化零频率搬移到频谱中间 subplot(3,4,3); imshow(log(abs(F)),[-1 10]);title(原始图像的傅里叶变换); Q = fft2(c); Q = fftshift(Q); % 将傅里叶变化零频率搬移到频谱中间 subplot(3,4,4); imshow(log(abs(Q)),[-1 10]);title(退化图像的傅里叶变换); %******************理想频域低通滤波*****************% clear all; f = imread(p2-04-01.bmp); F = fft2(f); % 求原始图像的傅里叶变化 F = fftshift(F); % 将傅里叶变化零频率搬移到频谱中间 [M,N] = size(F); % 确定图像大小,M为行数,N为列数 m = fix(M/2); n = fix(N/2); % d0 = 20; % 设定低通滤波上限频率 for i = 1 : M for j = 1 : N d = sqrt((i-m)^2 + (j-n)^2); if (d = d0) h = 1; else h = 0; end H(i,j) = h * F(i,j); % 滤波矩阵点乘 end end subplot(3,4,5); imshow(H);title(理想频域低通滤波器处理); H = ifftshift(H); J1 = ifft2(H); J2 = uint8(real(J1)); % subplot(3,4,6); imshow(J2); title(理想低通滤波退化后图像); %******************理想低通滤波复原*****************% FR = fft2(J1); FR = fftshift(FR)
显示全部
相似文档