课程设计任务书
学生姓名:
指导教师:
专业班级:
工作单位:
题 目:基于 matlab 图像增强的比较及其理论分析
初始条件:
1. 提供实验室机房及其 matlab 软件;
2. 给定一张灰度图片,模拟加入高斯噪声、椒盐噪声等若干噪声,然
后使用中值滤波、均值滤波等方法进行图像增强。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体
要求):
(1)了解对灰度图片处理的基本原理和方法;
(2)熟悉掌握 matlab 软件;
(3)对灰度图片模拟加入噪声;
(4)利用 matlab 对加入噪声的该图片进行处理,记录每一种方法的过程,并进
行比较,分析哪种噪声的所对应的增强方法效果最好;
(5)在进行处理时要对每一步处理进行理论分析;
(6)要求阅读相关参考文献不少于 5 篇;
(7)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:
(1) 布置课程设计任务,查阅资料
(2) 利用软件进行的图片处理,记录其结果
(3) 完成课程设计报告书
四天;
一周;
三天;
指导教师签名:
年
月
日
系主任(或责任教师)签名:
年
月
日
XX 大学《专业课程设计》说明书
目录
摘要 ································································································· I
1 Matlab 软件简介 ···············································································1
1.1 Matlab 语言的历史 ···································································· 1
1.2 Matlab 软件概况 ······································································· 1
2 原理分析 ······················································································· 3
2.1 数字图像噪声 ··········································································3
2.2 空间域图像增强 ·······································································3
2.3 均值滤波 ················································································3
2.4 中值滤波 ················································································4
3 程序设计 ······················································································· 6
3.1 程序设计思路 ··········································································6
3.2 要使用的 Matlab 函数 ································································6
4 程序流程图 ···················································································· 8
4.1 添加高斯噪声流程图 ·································································8
4.2 添加椒盐噪声流程图 ·································································8
4.3 均值滤波流程图 ·······································································9
4.4 中值滤波流程图 ····································································· 10
5 源程序 ·························································································12
5.1 添加高斯噪声再滤波 ······························································· 12
5.2 添加椒盐噪声再滤波 ······························································· 13
6 程序运行结果及分析 ·······································································15
6.1 高斯噪声滤波结果 ·································································· 15
6.2 椒盐噪声滤波结果 ·································································· 15
6.3 结果分析 ·············································································· 16
7 课程设计心得体会 ··········································································17
参考文献 ·························································································18
致谢 ······························································································· 19
XX 大学《专业课程设计》说明书
摘要
图像在实际应用中可能会遇到各种噪声干扰,如高斯噪声、椒盐噪声等。可
以采用空间域图像增强的办法对其进行处理,减少噪声的影响。本次课设使用的
是空间滤波对图片处理,包括均值滤波和中值滤波。
关键词:高斯噪声,椒盐噪声,均值滤波,中值滤波
I
XX 大学《专业课程设计》说明书
1 Matlab 软件简介
1.1 Matlab 语言的历史
70 年代后期,身为美国 New Mexico 大学计算机系系主任的 Cleve Moler 发现
学生用 FORTRAN 编写接口程序很费时间,于是他开始自己动手,利用业余时间为
学生编写 EISPACK 和 LINPACK 的接口程序。Cleve Moler 给这个接口程序取名
为 Matlab。1984 年,为了推广 Matlab 在数值计算中的应用,Cleve Moler、Johon
Little 等正式成立了 Math works 公司,从而把 Matlab 推向市场,并开始了对 Matlab
工具相等的开发设计。
1.2 Matlab 软件概况
Matlab 是 Matrix Laboratory 的缩写,意为矩阵实验室。它具有强大的矩阵
处理功能和绘图功能,进还能进行文字处理,绘图,建模仿真等功能。随着版本
的不断升级,它在数值计算及符号计算功能上得到了进一步完善。Matlab 已经发
展成为多学科、多种工作平台的功能强大的大型软件。在欧美等高校,Matlab
已经成为线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序
列分析、动态系统仿真等高级课程的基本教学工具。
Matlab 有以下一些特点:
Matlab 的帮助功能很强大,自带有详细的帮助手册,基于 HTML 的完整的
帮助功能,也可以用 help 命令来得到帮助信息。
程序语法与 C 语言类似,设计自由度大,方便我们编程。例如在 Matlab 里,
用户无需对变量预定义就可使用。大量数学函数已经定义好,并且有很强的用户
自定义函数的能力。
Matlab 有高级的程序环境,但程序环境很简单易用,有与其它语言编写的程
序结合和输入输出格式化数据的能力;Matlab 既具有结构化的控制语句,又有面
向对象编程的特性。
还有一个原因使 Matlab 受人们欢迎的,那就是 Matlab 源程序具有很大的开
放性。除了内部函数以外,所有 Matlab 的核心文件和工具箱文件都是可读可改
的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
Matlab 有强大的的图形绘制功能。在 Matlab 里,数据可视化的操作非常简
1
XX 大学《专业课程设计》说明书
单易用。Matlab 还有较强的编辑图形界面的能力。可以用来声成图解和可视化的
二维、三维图。
Matlab 还拥有功能强大的各种工具箱。其工具箱分为两类:功能性工具箱和
学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,
文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性
工具箱是专业性比较强的,如(control、signal proceessing 、commumnication)
toolbox 等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户
无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究,能极大地
促进我们的学习研究工作。
虽然 Matlab 有很多优点,但它也有一些缺点,比如:由于 Matlab 的程序不
用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
2
XX 大学《专业课程设计》说明书
2 原理分析
2.1 数字图像噪声
数字图像在图像获取集数字化过程,以及在数字图像传输的过程中,有可能
会受到噪声干扰。图像传感器在获取图像中会受到环境和原件质量的影响,产生
噪声。例如照相机照相时会受到光照影响。数字图像在传输过程中,由于传输信
道回手到噪声干扰,也会产生噪声。
噪声有很多种类,例如:高斯噪声,瑞利噪声,椒盐噪声,指数分布噪声等
等。本次课设讨论的是高斯噪声和椒盐噪声。
高斯噪声符合高斯分布,高斯噪声的产生源于电子电路噪声和由低照明度或
高温带来的传感器噪声。其概率密度函数为:
)(
zp
1
2
(
ze
2
2 2/
)
椒盐噪声又称(双极)脉冲噪声,其概率密度函数为:
)(
zp
a
b
,
zPa
,
zPb
其他,0
b>a,灰度级 b 在图像中将显示为一个亮点,灰度级 a 为一个暗点。椒盐噪声
最主要表现在成像中的短暂停留中。
2.2 空间域图像增强
对噪声图片处理要使用图像增强的方法。图像增强技术是为了人类视觉系统
的生理接受特点而设计一种改善图像的方法,处理图像,使其更适合于特定应用。
图像增强的方法有空间域方法和频域方法。
本次课设使用的是空间域方法。空间域指图像平面本身,以图像像素直接处
理为基础。空间域增强包括灰度变换,直方图处理,用算数、逻辑操作增强,空
间滤波等。其中空间滤波包括平滑空间滤波器,锐化空间滤波器。平滑空间滤波
器包括平滑线性滤波器和统计排序滤波器。
2.3 均值滤波
平滑线性滤波器,即为均值滤波,其输出是包含在滤波掩模邻域内像素的简
单平均值。这种处理减小了图像灰度的尖锐变化,可以减噪,也会有灰度边缘模
糊的负面效应。
3
XX 大学《专业课程设计》说明书
一幅 M×N 的图像经过一个 m×n(m 和 n 是奇数)的加权平均值滤波器滤
波的过程可由下式给出:
b
a
s
a
t
b
,(
yxg
)
),(
tsw
(
xf
,
ys
t
)
b
a
s
a
t
b
),(
tsw
如下图 2.1、2.2 显示了两个 3×3 线性平滑滤波器:
1
9
1
16
1
1
1
1
1
1
1
1
1
图 2.1 空间均值滤波器
1
2
1
2
4
2
1
2
1
图 2.2 加权平均滤波器
图 2.1 所有系数都相等的空间均值滤波器,又称为盒滤波器,设 R 是由掩膜
定义的 3×3 邻域像素灰度的平均值,则:
R
1
9
19
i
iz
归一化常数。
,在滤波处理后,所有图像被 9 除。m×n 掩膜应有等于 1/mn 的
图 2.2 所示的掩膜叫加权平均,一些像素比另一些像素更为重要,对于图 2.2,
掩膜中心位置的像素权值大一些,因此这一像素比较重要,其他像素不太重要。
随着距中心距离的增加权值也在减小,这样设定可以减小平滑处理中的模糊。另
外,掩膜中所有系数的和为 16,很方便于计算机的实现。
2.4 中值滤波
统计排序滤波器是一种非线性的空间滤波器,它的响应就与图像滤波器包围
的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值。最
常见的例子就是中值滤波器。为对一幅图像上的某个点做中值滤波处理,必须先
4
XX 大学《专业课程设计》说明书
将掩模内欲求的像素及其邻域的像素排序,确定出中值,并将该值赋予该像素点。
中值滤波器有优秀的去噪能力,比小尺寸的线性平滑滤波器的模糊程度要低很
多。
5