第一范文网 - 专业文章范例文档资料分享平台

基于MATLAB的数字图像处理毕业设计(含源文件)

来源:用户分享 时间:2025/5/28 9:42:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

……………………………………………………装………………订………………线……………………………………………………………………

(4) 梯形低通滤波器:

一个截止频率为D0的n阶梯形低通滤波器的传递函数如下(5-14):

?1D?m,n??D0??1?D?m,n??D1? D?m,n??D1 D?m,n??D0 (5-14) H?m,n????D0?D1D?m,n??D1??0式中,D1为大于D0的区域。

理想低通滤波器无法用电子器件实现,尽管它可以在计算机上仿真实现。梯形低通滤波器不常用。下面主要介绍实际中常用的巴特沃斯低通滤波器和指数低通滤波器。

MATLAB Butterworth低通滤波器程序代码如下: clear all;

I=imread('mao.jpg'); figure;imshow(I);

I2=imnoise(I,'salt & pepper',0.05); %给图像添加椒盐噪声 figure;imshow(I2); f=double(I2); k=fft2(f); g=fftshift(k);

[N1,N2]=size(g); n=2; d0=25;

u0=round(N1/2); v0=round(N2/2); for i=1:N1 for j=1:N2

d=sqrt((i-u0)^2+(i-v0)^2); h=1/(1+0.414*d/d0)^(2*n);

y(i,j)=h*g(i,j); end end

y=ifftshift(y); e1=ifft2(y);

e2=uint8(real(e1)); figure;imshow(e2);

运行程序,得到如下结果图5-9:

可以看出,经过Butterworth低通滤波器处理后的图像边缘模糊程度大大降低,去除噪声从而使图像增强。

第 28 页 共 41 页

……………………………………………………装………………订………………线……………………………………………………………………

(1) 原图 (2) 含有椒盐噪声的图像

(3) Butterworth低通滤波器

处理后图像

图5-9 Butterworth低通滤波器

MATLAB 指数低通滤波器程序代码如下: clear all;

I=imread('mao.jpg');

I2=imnoise(I,'salt & pepper',0.05); %给图像添加椒盐噪声 figure;imshow(I2); f=double(I2); k=fft2(f);

g=fftshift(k); [N1,N2]=size(g); n=2; d0=25;

u0=round(N1/2); v0=round(N2/2); for i=1:N1 for j=1:N2

d=sqrt((i-u0)^2+(i-v0)^2); h=exp(-(d/d0)^2);

第 29 页 共 41 页

……………………………………………………装………………订………………线……………………………………………………………………

y(i,j)=h*g(i,j); end end

y=ifftshift(y); e1=ifft2(y);

e2=uint8(real(e1)); figure;imshow(e2);

运行程序,得到如下结果图5-10:

(1) 含有椒盐噪声的图像 (2)指数低通滤波器处理后图像 图5-10 指数低通滤波器

可以看出,指数低通滤波器和巴特沃斯低通滤波器效果差不多。

5.3.3 高通滤波

图像中物体的边缘及其他灰度变化较快的区域与图像的高频信息有关,因此,利用高通滤波器可以对图像的边缘信息进行增强,起到锐化图像的作用。高通滤波器与低通滤波器一样有四种滤波器,不一样的就是变成高频通过,与低通滤波原理相反,这里就不详细其他两种不常用的滤波器原理。

一个截止频率为D0的n阶Butterworth高通滤波器的传递函数如下(5-15):

1 H(u,v)? (5-15) 2n?D0?1???D?u,v?????一个截止频率为D0的n阶指数高通滤波器的传递函数如下(5-16):

n

H?u,v??e?D0????D?u,v????0? (5-16)

下面主要介绍巴特沃斯高通滤波器和指数高通滤波器。

MATLAB Butterworth高通滤波器程序代码如下: clear all;

I1=imread('mao.jpg'); figure,imshow(I1); f=double(I1);

第 30 页 共 41 页

……………………………………………………装………………订………………线……………………………………………………………………

g=fft2(f); %采用傅里叶变换 g=fftshift(g); %数据矩阵平衡 [N1,N2]=size(g);

n=2; %二阶巴特沃斯高通滤波器 d0=5;

n1=fix(N1/2); n2=fix(N2/2); for i=1:N1 for j=1:N2

d=sqrt((i-n1)^2+(j-n2)^2);

if(d==0) h=0; else

h=1/(1+0.414*(d0/d)^(2*n)); %计算传递函数 end

result(i,j)=h*g(i,j); end end

result=ifftshift(result); X2=ifft2(result); X3=uint8(real(X2)); figure,imshow(X3);

运行程序,得到如下结果图5-10:

(1) 原图 (2) Butterworth高通滤波器 处理后图像 图5-10 Butterworth高通滤波器

可以看出,经过了Butterworth高通滤波器,图像高频部分比较突出了,达到了增强的效果。

第 31 页 共 41 页

基于MATLAB的数字图像处理毕业设计(含源文件).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c83v8y7hwcs55t2h95x553fre38hic90118w_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top