数字图像处理课程设计

1. 前言

数字图像处理技术是20世纪60年代开始发展起来的一门新兴学科。近40年来,由于大规模集成电路和计算机技术的迅速发展,离散数学的创立及理论上的不断突破,以及军事、医学和工业等方面应用需求的不断增长,数字图像处理的理论和方法发展迅速,图像处理技术不断完善,不仅在理论研究上取得了很大的进展,而且其应用领域也日益扩大。随着科技的进步以及人类需求的多样化发展,多学科的交叉、融合已成为现代科学发展的突出特色和重要途径。因此,数字图像处理学科正逐步向其他学科领域渗透,并为其他学科的研究和发展提供基础性支持。

众所周知,人类正在实践的21世纪是一个信息时代。今天的社会,信息技术已经全面服务于社会生产和生活的方方面面,人们所做工作的相当一部分就是对信息的处理和传输,其中图像是人类获取信息、表达信息和传递信息的重要手段,是人类感知和认识世界的基础。有关研究表明,日常生活中人们所接受的各种信息中图像信息占总信息量的80%左右,从这一角度看,“百闻不如一见”正是图像处理重要性的形象表达和经验总结。因此,数字图像处理技术无论是对于21世纪的科学理论研究,还是工程应用都将具有重要的影响。国内外许多有识之士指出,从某种意义上讲,数字图像处理是实现智能计算机、智能机器人或多媒体通信系统的基础,未来计算机及智能机器人的发展与进步将在一定程度上依赖于机器视觉信息处理理论和技术的突破。虽然相对于经典学科,数字图像处理还很年轻,但日趋成熟的数字图像处理技术已经在很多方面得到深入而广泛的应用,一定程度上改变了人类的生活,给人们的日常生活、学习、工作带来极大的方便。例如,Internet 上的视频广播、现代卫星或遥感照片的合成和处理、工业产品的自动检测、各种医学影像和图像的处理、远程医疗诊断及手术以及视频会议、视频电话等都采用了图像处理技术实现实时信息交互。

在信息化的今天,信息技术已经全面服务于社会的生产和生活的各个方面。信息是抽象的,它依附在各种媒体所表示的数据中,其中,图像信息是人类赖以获取信息的最重要来源之一。随着计算机技术的迅猛发展,图像和图形技术不断融合,产生了各种图像处理、CAD 软件。这些软件被广泛应用于计算机科学、

工程学、统计学、物理学、信息科学、化学、生物学、医学乃至社会科学等领域,取得了令人瞩目的成就。

MATLAB 自1984年由美国MathWorks 公司推向市场以来,经历了二十多年的发展,现已成为国际公认的最优秀的科技应用软件。MATLAB 既是一种直观高效的计算机语言,同时又是一个科学计算平台,它为数据分析和数据可视化算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。

正是由于MATLAB 的各种优势和特点,以及其版本的不断更新和功能的不断完善和强大,特别是它在图形处理上的优越性,本次课程设计就是利用MATLAB 图像处理工具箱函数来进行图像增强。

2. 设计的内容

本次课程设计我做的题目是“基于matlab 图像增强的比较及其理论分析”,图像增强所包含的主要内容如下图:

⎧⎧⎧灰度变换⎪⎪⎪ ⎧均衡化⎪⎪⎪⎪⎪点运算⎨直方图修正法⎨规定化 ⎩⎪⎪空间域⎪⎨⎪局部统计法⎪ ⎩⎪⎪⎪⎪⎧图像平滑⎪ 局部运算⎨⎪⎪⎩图像锐化⎩⎪ ⎪图像增强⎨⎧高通滤波⎪ ⎪ 频率域⎨低通滤波⎪⎪同态滤波增强⎪ ⎩⎪⎪⎧假彩色增强 ⎪⎪彩色增强⎨伪彩色增强⎪ ⎪彩色变换及应用⎪⎩⎪ ⎪⎩图像的代数运算

图像增强是采用一系列技术去改善图像的视觉效果,或将图像转换成一种更适合于人或机器进行分析和处理的形式。例如采用一系列技术有选择的突出某些感兴趣的信息,同时抑制一些不需要的信息,提高图像的使用价值。鉴于以上理论知识,我先在网上下载一幅灰度图片,然后对其依次进行如下操作:

1. 将该图片导入MATLAB 工作平台;

2. 利用MATLAB 图像处理工具箱提供的模拟噪声生成函数imnoise ,分别对该图片模拟加入高斯噪声和椒盐噪声;

3. 利用MATLAB 软件对加入噪声的该图片进行中值滤波和均值滤波处理;

4. 记录处理后生成的图样,比较分析哪种方法增强效果最佳。

3. 流程图

4. 总体方案设计及原理

4.1验证图片是否为灰度图片

本次课设要求是对灰度图片进行处理,因此必须保证是灰度图片,在MATLAB 中能实现对图片属性的查看。在MATLAB 命令输入窗中,调用函数info=imfinfo(‘FILENAME.FMT ’) 。如查看我用的图片属性,在命令窗口输入info=imfinfo('植物大战僵尸.JPG') ,得到如下结果:

info =

Filename: '植物大战僵尸.JPG'

FileModDate: '22-Jun-2009 14:23:46'

FileSize: 177051

Format: 'jpg'

FormatVersion: ''

Width: 601

Height: 812

BitDepth: 8

ColorType: 'grayscale'

FormatSignature: ''

NumberOfSamples: 1

CodingMethod: 'Huffman'

CodingProcess: 'Sequential'

Comment: {}

在 ColorType: 'grayscale' 属性行如此显示,则说明以刘亦菲.JPG 命名的文件为灰度图像。

4.2导入图片到MATLAB 工作平台

首先在MATLAB 命令窗口中将其执行路径更改到要处理的灰度图片的路径,然后读取图像。函数imread 可以从任何MATLAB 支持的图像文件格式中,以任意位深度读取一幅图像。格式为:

[X,MAP]=imread(‘FILENAME.FMT ’) ,其中:

FILENAME-为需要读入的图像文件名称,FMT-为图像格式。

4.3对图片模拟加入高斯噪声和椒盐噪声

Matlab 图像处理工具箱提供了模拟噪声生成的函数imnoise ,格式为: J=imnoise(I,type)

J=imnoise(I,type,parameters) 其中:

I 为输入图像,J 为叠加噪声后的图像。type 为噪声类型,parameters 为各噪声相应的参数。常用的噪声类型如下:

J=imnoise(I,'gaussian',M,V)

均值M, 方差为V 的高斯噪声。M 、V 的缺省值为0、0.01;

J=imnoise(I,'salt & pepper',D)

噪声浓度为D 的椒盐噪声。D 的缺省值为0.05;

J=imnoise(I,'speckle',V)

方差为V 的乘法性噪声。V 的缺省值为0.04。

4.4显示原图片和加入噪声的图片

本次用到的MATLAB 的图像显示函数为imshow ,格式为:

imshow (I ,n ) 其中:

I-为图片的代码,n-为显示灰度级为n 的图像,n 缺省为256。

4.5中值滤波处理

MATLAB 图像处理工具箱中,提供了medfilt2和ordfilt2函数,用于实现中值滤波。

medfilt2格式为:

B=medfilt2(A,[m n])其中:

A 为输入图像,B 为输出图像,[m n]为窗口大小,缺省为[3 3]。 ordfilt2的格式为:

Y=ordfilt2(X,order,domain) 其中:

X 为输入图像,Y 为输出图像,order 为滤波器输出顺序值,domain 为滤波窗口矩阵。

Y=ordfilt2(X,5,ones(3,3)) %中值滤波Y=medfilt2(X,[3 3]) Y=ordfilt2(X,1,ones(3,3)) %最小滤波

Y=ordfilt2(X,9,ones(3,3)) %最大滤波

4.6均值滤波处理

MATLAB 图像处理工具箱提供了filter2和fspecial 函数用于对图像进行均值滤波。

(1) filter2用于对图像作卷积滤波,格式为:

B=filter2(h,A,shape) 其中:

A 为输入图像,h 为滤波算子,B 为输出图像,shape 为指定滤波计算范围: shape='full'时,作边界补0

shape='same'时,返回的图像B 与输入的图像A 大小相同

shape='valid'时,补考虑边界补0,只计算有效输出部分。

(2) fspecial用于产生预定义的滤波算子,格式为:

h=fspecial(type,para) 其中:

参数type 指定算子类型,para 为指定相应的参数。

type='average',表示为均值滤波器,para 默认为3

4.7源代码

I=imread('植物大战僵尸.JPG'); %读取图片

J1=imnoise(I,'gaussian',0,0.04); %加入高斯噪声,均值为0方差为0.04 J2=imnoise(I,'salt & pepper',0.09); %加入椒盐噪声,噪声浓度为0.09 K1 = medfilt2(J1); %对图片J1进行中值滤波

K2 = medfilt2(J2); %对图片J2进行中值滤波

K3 = filter2(fspecial('average',1),J1); %对图片J1进行均值滤波

K4 = filter2(fspecial('average',1),J2); %对图片J2进行均值滤波

Pause %程序执行暂停

figure(1)

subplot(1,3,1) %子图方式显示

imshow(I) %显示图片I

title('原始图片') %给图片加入标题

subplot(1,3,2)

imshow(J1)

title('高斯噪声')

subplot(1,3,3)

imshow(J2)

title('椒盐噪声')

pause

figure(2)

subplot(2,2,1)

imshow(I)

title('原始图片')

subplot(2,2,2)

imshow(J1)

title('高斯噪声')

subplot(2,2,3)

imshow(K1)

title('中值滤波')

subplot(2,2,4)

imshow(K3)

title('均值滤波')

pause

figure(3)

subplot(2,2,1)

imshow(I)

title('原始图片')

subplot(2,2,2)

imshow(J2)

title('椒盐噪声')

subplot(2,2,3)

imshow(K2)

title('中值滤波')

subplot(2,2,4)

imshow(K4)

title('均值滤波')

4.8结果显示

在MATLAB 命令窗口中输入上述代码,按下回车键,就可以显示结果,如下面三幅图所示

5. 结果分析

5.1均值滤波

均值滤波是最简单的均值滤波,均值简单的平滑了一幅图像的局部变化,在模糊了图像的同时减少了噪声,但在滤波过程中会丢失图像细节,如第5幅和第6幅图像所示,当该图像的参数shape='full'时,作边界补0,因此后两幅看起来就是“空白”,几乎丢失了图像的全部细节。如果对图像干扰的某一噪声具有这样的特点:对图像中任意相邻两点的干扰是互不相关的。那么,若某一象素中含有噪声,而其它周围的邻点却不一定有噪声。因此,和邻近各点相比,该点的灰度值将有显著的不同。

这样就可以从图像中取一子区域(称为邻域),其内含若干象素,要处理的象素位于邻域的中心。然后求出邻域中各象素(不包含要处理的象素点)的灰度平均值:

g (m , n ) =1[f (m -1, n ) +f (m +1, n ) +f (m , n -1) +f (m , n +1) ] 4

由于图像中相邻象素之间有很强的相关性,如果该点(m , n ) 无噪声,则其灰度应和邻域平均值基本相等,反之,两者有明显差别。

这是用邻域平均值代替该点的灰度值,可以在一定程度上消除噪声。

5.2中值滤波

中值滤波的应用非常广泛,因为对于很多种随机噪声,它都有良好的去噪能力,且在相同尺寸下比线性平滑滤波引起的模糊更少。中值滤波尤其对单极或双极脉冲噪声非常有效。

最大值滤波对发现图像中的最亮点非常有用。同样,因为“胡椒”噪声是非常低的值,作为子图像区域的最大值选择结果,他可以通过这种滤波消除;最小值滤波对发现图像中的最暗点非常有用。同样,作为最小值操作的结果,它可以用来消除“盐”噪声。对于高斯和均匀随机分布这类噪声有最好的效果。 设有一序列:

{f i }={f 1, f 2,..., f n }

有n 个值,在序列中任取m 个连续值:

f i -v , f i -v +1,..., f i -1, f i , f i +1,..., f i +v -1, f i +v

m 为奇数3、5、7等: m =2v +1

将这m 个值从小到大排序,取中间值作为滤波器输出,表示为:

f i ' =med {f i -v ,..., f i ,..., f i +v },i =1, 2,..., n 。

例如:f i 为

. . . 0 3 4 4 5 3 2 0 1 4 3 0 . . .

取m 为3时的中值滤波:

. . . 0 3 4 4 4 3 2 1 1 3 3 0 . . .

取m 为3时的平滑滤波:

. . . 0 7/3 11/3 4 11/3 3 2 4/3 5/3 7/3 . . .

中值滤波不影响阶跃函数和斜波函数,周期小于m /2的脉冲将抑制,三角函数顶部变平。因此可以消除噪声

通过观察第2幅图可以看出,经medfilt2函数处理椒盐噪声后的图像几乎复原了原始图像,其效果比相同条件下的高斯噪声处理要好很多。综合分析上述各幅图像我们可以得出结论:在处理椒盐噪声的问题上,中值滤波比均值滤波更优越; 在处理高斯噪声的问题上,均值滤波比中值滤波效果稍微好一点。

6. 心得体会

经过一个多星期的关于数字图像处理的课程设计,在老师和同学的帮助下,我基本上完成了这次任务,通过这次课程设计我收获颇多,概而言之,大约以下几点:

一、温故而知新。课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感“书到用时方恨少”,于是想起圣人之言“温故而知新”,便重拾教材与实验手册,对知识系统而全面进行了梳理,遇到难处先是苦思冥想再向同学请教,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识,学会了如何思考的思维方式,找到了设计的灵感。

二、理论联系实际。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,值得一提的是刚开始在滤波问题上我被卡住了,我以为是下载的MATLAB 软件没有这个库函数,卸载后装上另一款,结果还是不能解决,请教了很多同学才发现要处理的图片根本不是灰度图片,重新换了张图片就成功了。这毕竟是第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的关于图像处理的课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,更加强了团队合作的意识,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

参考文献

[1] R.C.Gonzalez, R.E.Woods, S.L.Eddins,数字图像处理(MATLAB 版)阮秋琦 等译, 北京:电子工业出版社,2007.10.

[2]孙祥 徐流美 吴清编著,MATLAB7.0基础教程 北京:清华大学出版社,2005.5.

[3] 吴国平主编,数字图像处理原理 北京:电子工业出版社,2007.9

[4] 王慧琴主编,数字图像处理 北京:高等教育出版社,2006.5

[5] 霍宏涛主编,数字图像处理 北京:清华大学出版社,2002.9

1. 前言

数字图像处理技术是20世纪60年代开始发展起来的一门新兴学科。近40年来,由于大规模集成电路和计算机技术的迅速发展,离散数学的创立及理论上的不断突破,以及军事、医学和工业等方面应用需求的不断增长,数字图像处理的理论和方法发展迅速,图像处理技术不断完善,不仅在理论研究上取得了很大的进展,而且其应用领域也日益扩大。随着科技的进步以及人类需求的多样化发展,多学科的交叉、融合已成为现代科学发展的突出特色和重要途径。因此,数字图像处理学科正逐步向其他学科领域渗透,并为其他学科的研究和发展提供基础性支持。

众所周知,人类正在实践的21世纪是一个信息时代。今天的社会,信息技术已经全面服务于社会生产和生活的方方面面,人们所做工作的相当一部分就是对信息的处理和传输,其中图像是人类获取信息、表达信息和传递信息的重要手段,是人类感知和认识世界的基础。有关研究表明,日常生活中人们所接受的各种信息中图像信息占总信息量的80%左右,从这一角度看,“百闻不如一见”正是图像处理重要性的形象表达和经验总结。因此,数字图像处理技术无论是对于21世纪的科学理论研究,还是工程应用都将具有重要的影响。国内外许多有识之士指出,从某种意义上讲,数字图像处理是实现智能计算机、智能机器人或多媒体通信系统的基础,未来计算机及智能机器人的发展与进步将在一定程度上依赖于机器视觉信息处理理论和技术的突破。虽然相对于经典学科,数字图像处理还很年轻,但日趋成熟的数字图像处理技术已经在很多方面得到深入而广泛的应用,一定程度上改变了人类的生活,给人们的日常生活、学习、工作带来极大的方便。例如,Internet 上的视频广播、现代卫星或遥感照片的合成和处理、工业产品的自动检测、各种医学影像和图像的处理、远程医疗诊断及手术以及视频会议、视频电话等都采用了图像处理技术实现实时信息交互。

在信息化的今天,信息技术已经全面服务于社会的生产和生活的各个方面。信息是抽象的,它依附在各种媒体所表示的数据中,其中,图像信息是人类赖以获取信息的最重要来源之一。随着计算机技术的迅猛发展,图像和图形技术不断融合,产生了各种图像处理、CAD 软件。这些软件被广泛应用于计算机科学、

工程学、统计学、物理学、信息科学、化学、生物学、医学乃至社会科学等领域,取得了令人瞩目的成就。

MATLAB 自1984年由美国MathWorks 公司推向市场以来,经历了二十多年的发展,现已成为国际公认的最优秀的科技应用软件。MATLAB 既是一种直观高效的计算机语言,同时又是一个科学计算平台,它为数据分析和数据可视化算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。

正是由于MATLAB 的各种优势和特点,以及其版本的不断更新和功能的不断完善和强大,特别是它在图形处理上的优越性,本次课程设计就是利用MATLAB 图像处理工具箱函数来进行图像增强。

2. 设计的内容

本次课程设计我做的题目是“基于matlab 图像增强的比较及其理论分析”,图像增强所包含的主要内容如下图:

⎧⎧⎧灰度变换⎪⎪⎪ ⎧均衡化⎪⎪⎪⎪⎪点运算⎨直方图修正法⎨规定化 ⎩⎪⎪空间域⎪⎨⎪局部统计法⎪ ⎩⎪⎪⎪⎪⎧图像平滑⎪ 局部运算⎨⎪⎪⎩图像锐化⎩⎪ ⎪图像增强⎨⎧高通滤波⎪ ⎪ 频率域⎨低通滤波⎪⎪同态滤波增强⎪ ⎩⎪⎪⎧假彩色增强 ⎪⎪彩色增强⎨伪彩色增强⎪ ⎪彩色变换及应用⎪⎩⎪ ⎪⎩图像的代数运算

图像增强是采用一系列技术去改善图像的视觉效果,或将图像转换成一种更适合于人或机器进行分析和处理的形式。例如采用一系列技术有选择的突出某些感兴趣的信息,同时抑制一些不需要的信息,提高图像的使用价值。鉴于以上理论知识,我先在网上下载一幅灰度图片,然后对其依次进行如下操作:

1. 将该图片导入MATLAB 工作平台;

2. 利用MATLAB 图像处理工具箱提供的模拟噪声生成函数imnoise ,分别对该图片模拟加入高斯噪声和椒盐噪声;

3. 利用MATLAB 软件对加入噪声的该图片进行中值滤波和均值滤波处理;

4. 记录处理后生成的图样,比较分析哪种方法增强效果最佳。

3. 流程图

4. 总体方案设计及原理

4.1验证图片是否为灰度图片

本次课设要求是对灰度图片进行处理,因此必须保证是灰度图片,在MATLAB 中能实现对图片属性的查看。在MATLAB 命令输入窗中,调用函数info=imfinfo(‘FILENAME.FMT ’) 。如查看我用的图片属性,在命令窗口输入info=imfinfo('植物大战僵尸.JPG') ,得到如下结果:

info =

Filename: '植物大战僵尸.JPG'

FileModDate: '22-Jun-2009 14:23:46'

FileSize: 177051

Format: 'jpg'

FormatVersion: ''

Width: 601

Height: 812

BitDepth: 8

ColorType: 'grayscale'

FormatSignature: ''

NumberOfSamples: 1

CodingMethod: 'Huffman'

CodingProcess: 'Sequential'

Comment: {}

在 ColorType: 'grayscale' 属性行如此显示,则说明以刘亦菲.JPG 命名的文件为灰度图像。

4.2导入图片到MATLAB 工作平台

首先在MATLAB 命令窗口中将其执行路径更改到要处理的灰度图片的路径,然后读取图像。函数imread 可以从任何MATLAB 支持的图像文件格式中,以任意位深度读取一幅图像。格式为:

[X,MAP]=imread(‘FILENAME.FMT ’) ,其中:

FILENAME-为需要读入的图像文件名称,FMT-为图像格式。

4.3对图片模拟加入高斯噪声和椒盐噪声

Matlab 图像处理工具箱提供了模拟噪声生成的函数imnoise ,格式为: J=imnoise(I,type)

J=imnoise(I,type,parameters) 其中:

I 为输入图像,J 为叠加噪声后的图像。type 为噪声类型,parameters 为各噪声相应的参数。常用的噪声类型如下:

J=imnoise(I,'gaussian',M,V)

均值M, 方差为V 的高斯噪声。M 、V 的缺省值为0、0.01;

J=imnoise(I,'salt & pepper',D)

噪声浓度为D 的椒盐噪声。D 的缺省值为0.05;

J=imnoise(I,'speckle',V)

方差为V 的乘法性噪声。V 的缺省值为0.04。

4.4显示原图片和加入噪声的图片

本次用到的MATLAB 的图像显示函数为imshow ,格式为:

imshow (I ,n ) 其中:

I-为图片的代码,n-为显示灰度级为n 的图像,n 缺省为256。

4.5中值滤波处理

MATLAB 图像处理工具箱中,提供了medfilt2和ordfilt2函数,用于实现中值滤波。

medfilt2格式为:

B=medfilt2(A,[m n])其中:

A 为输入图像,B 为输出图像,[m n]为窗口大小,缺省为[3 3]。 ordfilt2的格式为:

Y=ordfilt2(X,order,domain) 其中:

X 为输入图像,Y 为输出图像,order 为滤波器输出顺序值,domain 为滤波窗口矩阵。

Y=ordfilt2(X,5,ones(3,3)) %中值滤波Y=medfilt2(X,[3 3]) Y=ordfilt2(X,1,ones(3,3)) %最小滤波

Y=ordfilt2(X,9,ones(3,3)) %最大滤波

4.6均值滤波处理

MATLAB 图像处理工具箱提供了filter2和fspecial 函数用于对图像进行均值滤波。

(1) filter2用于对图像作卷积滤波,格式为:

B=filter2(h,A,shape) 其中:

A 为输入图像,h 为滤波算子,B 为输出图像,shape 为指定滤波计算范围: shape='full'时,作边界补0

shape='same'时,返回的图像B 与输入的图像A 大小相同

shape='valid'时,补考虑边界补0,只计算有效输出部分。

(2) fspecial用于产生预定义的滤波算子,格式为:

h=fspecial(type,para) 其中:

参数type 指定算子类型,para 为指定相应的参数。

type='average',表示为均值滤波器,para 默认为3

4.7源代码

I=imread('植物大战僵尸.JPG'); %读取图片

J1=imnoise(I,'gaussian',0,0.04); %加入高斯噪声,均值为0方差为0.04 J2=imnoise(I,'salt & pepper',0.09); %加入椒盐噪声,噪声浓度为0.09 K1 = medfilt2(J1); %对图片J1进行中值滤波

K2 = medfilt2(J2); %对图片J2进行中值滤波

K3 = filter2(fspecial('average',1),J1); %对图片J1进行均值滤波

K4 = filter2(fspecial('average',1),J2); %对图片J2进行均值滤波

Pause %程序执行暂停

figure(1)

subplot(1,3,1) %子图方式显示

imshow(I) %显示图片I

title('原始图片') %给图片加入标题

subplot(1,3,2)

imshow(J1)

title('高斯噪声')

subplot(1,3,3)

imshow(J2)

title('椒盐噪声')

pause

figure(2)

subplot(2,2,1)

imshow(I)

title('原始图片')

subplot(2,2,2)

imshow(J1)

title('高斯噪声')

subplot(2,2,3)

imshow(K1)

title('中值滤波')

subplot(2,2,4)

imshow(K3)

title('均值滤波')

pause

figure(3)

subplot(2,2,1)

imshow(I)

title('原始图片')

subplot(2,2,2)

imshow(J2)

title('椒盐噪声')

subplot(2,2,3)

imshow(K2)

title('中值滤波')

subplot(2,2,4)

imshow(K4)

title('均值滤波')

4.8结果显示

在MATLAB 命令窗口中输入上述代码,按下回车键,就可以显示结果,如下面三幅图所示

5. 结果分析

5.1均值滤波

均值滤波是最简单的均值滤波,均值简单的平滑了一幅图像的局部变化,在模糊了图像的同时减少了噪声,但在滤波过程中会丢失图像细节,如第5幅和第6幅图像所示,当该图像的参数shape='full'时,作边界补0,因此后两幅看起来就是“空白”,几乎丢失了图像的全部细节。如果对图像干扰的某一噪声具有这样的特点:对图像中任意相邻两点的干扰是互不相关的。那么,若某一象素中含有噪声,而其它周围的邻点却不一定有噪声。因此,和邻近各点相比,该点的灰度值将有显著的不同。

这样就可以从图像中取一子区域(称为邻域),其内含若干象素,要处理的象素位于邻域的中心。然后求出邻域中各象素(不包含要处理的象素点)的灰度平均值:

g (m , n ) =1[f (m -1, n ) +f (m +1, n ) +f (m , n -1) +f (m , n +1) ] 4

由于图像中相邻象素之间有很强的相关性,如果该点(m , n ) 无噪声,则其灰度应和邻域平均值基本相等,反之,两者有明显差别。

这是用邻域平均值代替该点的灰度值,可以在一定程度上消除噪声。

5.2中值滤波

中值滤波的应用非常广泛,因为对于很多种随机噪声,它都有良好的去噪能力,且在相同尺寸下比线性平滑滤波引起的模糊更少。中值滤波尤其对单极或双极脉冲噪声非常有效。

最大值滤波对发现图像中的最亮点非常有用。同样,因为“胡椒”噪声是非常低的值,作为子图像区域的最大值选择结果,他可以通过这种滤波消除;最小值滤波对发现图像中的最暗点非常有用。同样,作为最小值操作的结果,它可以用来消除“盐”噪声。对于高斯和均匀随机分布这类噪声有最好的效果。 设有一序列:

{f i }={f 1, f 2,..., f n }

有n 个值,在序列中任取m 个连续值:

f i -v , f i -v +1,..., f i -1, f i , f i +1,..., f i +v -1, f i +v

m 为奇数3、5、7等: m =2v +1

将这m 个值从小到大排序,取中间值作为滤波器输出,表示为:

f i ' =med {f i -v ,..., f i ,..., f i +v },i =1, 2,..., n 。

例如:f i 为

. . . 0 3 4 4 5 3 2 0 1 4 3 0 . . .

取m 为3时的中值滤波:

. . . 0 3 4 4 4 3 2 1 1 3 3 0 . . .

取m 为3时的平滑滤波:

. . . 0 7/3 11/3 4 11/3 3 2 4/3 5/3 7/3 . . .

中值滤波不影响阶跃函数和斜波函数,周期小于m /2的脉冲将抑制,三角函数顶部变平。因此可以消除噪声

通过观察第2幅图可以看出,经medfilt2函数处理椒盐噪声后的图像几乎复原了原始图像,其效果比相同条件下的高斯噪声处理要好很多。综合分析上述各幅图像我们可以得出结论:在处理椒盐噪声的问题上,中值滤波比均值滤波更优越; 在处理高斯噪声的问题上,均值滤波比中值滤波效果稍微好一点。

6. 心得体会

经过一个多星期的关于数字图像处理的课程设计,在老师和同学的帮助下,我基本上完成了这次任务,通过这次课程设计我收获颇多,概而言之,大约以下几点:

一、温故而知新。课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感“书到用时方恨少”,于是想起圣人之言“温故而知新”,便重拾教材与实验手册,对知识系统而全面进行了梳理,遇到难处先是苦思冥想再向同学请教,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识,学会了如何思考的思维方式,找到了设计的灵感。

二、理论联系实际。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,值得一提的是刚开始在滤波问题上我被卡住了,我以为是下载的MATLAB 软件没有这个库函数,卸载后装上另一款,结果还是不能解决,请教了很多同学才发现要处理的图片根本不是灰度图片,重新换了张图片就成功了。这毕竟是第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的关于图像处理的课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,更加强了团队合作的意识,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

参考文献

[1] R.C.Gonzalez, R.E.Woods, S.L.Eddins,数字图像处理(MATLAB 版)阮秋琦 等译, 北京:电子工业出版社,2007.10.

[2]孙祥 徐流美 吴清编著,MATLAB7.0基础教程 北京:清华大学出版社,2005.5.

[3] 吴国平主编,数字图像处理原理 北京:电子工业出版社,2007.9

[4] 王慧琴主编,数字图像处理 北京:高等教育出版社,2006.5

[5] 霍宏涛主编,数字图像处理 北京:清华大学出版社,2002.9


相关内容

  • 视觉传达专业[数字媒体设计]本科 课程教学大纲
  • <数字媒体设计>课程教学大纲 一.基本信息 1.课程名称 数字媒体设计/ Digital Media Design 2.课程代码 163Y096 3.课程类别 专业课 4.课程性质 专业选修 5.学时/学分 64(4+20+40)/4 6.先修课程 包装设计.书籍装帧设计.平面广告设计. ...

  • 数字图像处理课程设计题目分配
  • 关于<数字图像处理>课程设计的安排和要求 1.时间:<数字图像处理>课设属于综合实践课,设计时间为2周. 2.时间安排: 19-20周. 3.实验工具:Matlab 语言. 4.要求:图书馆借阅相关书籍并上网查阅相关文献资料,严格按指定要求完成设计. 每个程序或模块都必须做到 ...

  • 沈理[数字图像处理]课程设计题目
  • 数字图像处理课程设计选题 1. 数字图像的阈值分割方法研究 2. 数字图像锐化算子的对比研究 3. 数字图像的开运算 4. 数字图像的闭运算 5. 数字图像连通区域单元贴标签 6. 彩色数字图像的灰度化处理 7. 数字图像类型的转换 8. 数字图像FIR 滤波器的设计 9. 数字图像的算术运算 10 ...

  • 数字图像处理课程设计 基于Matlab的数字图像处理
  • 数字图像处理课程设计 基于Matlab 的数字图像处理 --图像识别 院系 信息技术学院 专业班级 软件2班 学号 XXXXXXXXXX 姓名 XXXX 指导教师 XXXXXX 课程设计时间 2014年12月 目录 摘要 . ..................................... ...

  • 数字信号处理大纲
  • 北京邮电大学世纪学院<数字信号处理>课程教学大纲 课程编号: 课程名称: 数字信号处理 Digital Signal Processing 课程类别: 专业基础课 总学时: 48学时 总学分: 3 适用对象:信息工程.通信工程.电子信息工程专业学生 课程性质:本课程是电子信息类专业继&q ...

  • 脉冲响应不变法设计数字低通滤波器
  • 燕山大学 课 程 设 计 说 明 书 题目: 脉冲响应不变法设计数字低通滤波器 学院(系):电气工程学院 年级专业:09级精密仪器及机械2班 学 号: [1**********]2 学生姓名: 范程灏 指导教师: 刘永红 教师职称: 讲师 电气工程学院<课程设计>任务书 课程名称: 数字 ...

  • 医学数字信号处理]课程建设的思考
  • 蒙器黧氧7衄幽 2∞8年9月上总第120期\坠璺些苎些曼墅坠i曼垡 关于<生物医学数字信号处理>课程建设的思考 杨春兰 吴水才 白燕萍 高宏建 摘要:<生物医学数字信号处理>课程是生物医学工程专业的重要专业基础课.通过调研国内外生物医学工程系该课程的教研情况,从教学目标.教学 ...

  • 电子信息工程
  • 电子信息工程 求助编辑百科名片 大学专业,培养目标是培养具备电子技术和信息系统的基础知识,能从事各类电子设备和信息系统的研究.设计.制造.应用和开发的高等工程技术人才. 目录 基本介绍 业务培养要求 专业背景与市场预测 培养目标 培养要求 主要课程 ①数学: ②理论: ③电路: ④计算机: 详细课程 ...

  • 数字信号处理课程设计
  • 数字信号处理课程设计报告 题目3 运用matlab 的数字音效处理系统设计 系 (院): 电子信息工程学院 专 业: 通信工程班 级: 13通信 学 号:xxx 姓 名:xxx 2015年12月19日 一.摘要 数字信号处理(Digital Signal Processing)技术,从20世纪60年 ...

  • [多媒体技术]课程标准
  • <多媒体技术及应用>课程标准 一.课程代码:022386 二.适用专业:适用于计算机多媒体专业. 三.课程性质 <多媒体技术与应用>是计算机多媒体专业方向必修课,属于计算机多媒体专业的基本理论和基本知识,是计算机多媒体专业的一门实践性较强的技术基础课.多媒体技术及是计算机多媒 ...