MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx

上传人:b****5 文档编号:8798747 上传时间:2023-05-15 格式:DOCX 页数:16 大小:287.40KB
下载 相关 举报
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第1页
第1页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第2页
第2页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第3页
第3页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第4页
第4页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第5页
第5页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第6页
第6页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第7页
第7页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第8页
第8页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第9页
第9页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第10页
第10页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第11页
第11页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第12页
第12页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第13页
第13页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第14页
第14页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第15页
第15页 / 共16页
MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx

《MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx》由会员分享,可在线阅读,更多相关《MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx(16页珍藏版)》请在冰点文库上搜索。

MATLAB课程设计基于matlab图像增强的比较及其理论分析.docx

MATLAB课程设计基于matlab图像增强的比较及其理论分析

目录

摘要I

AbstractII

1.数字图像处理及MATLAB简介1

2.设计方案介绍3

2.1设计思路3

2.2.设计流程图4

3.具体设计5

3.1程序设计版块5

3.1.1验证图片是否为灰度图片5

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

3.1.3均值滤波处理6

3.1.4中值滤波处理6

3.1.5维纳滤波7

3.2程序代码7

4结果显示9

5.结果分析11

5.1均值滤波11

5.2中值滤波11

5.3维纳滤波12

6.心得体会13

参考文献15

摘要

图像增强是图像处理的一个重要分支,是图像边缘提取、图像分割等的基础。

由于图像在获取和传输过程中发生失真,影响了人和机器对图像的理解。

文章主要介绍了加入模拟噪声的方法:

高斯噪声和椒盐噪声,以及常见的空域处理法:

均值滤波和中值滤波。

通过实验的对比,发现不同方法图像得到了不同的增强效果。

关键字:

高斯噪声椒盐噪声均值滤波中值滤波图像增强

 

Abstract

Imageenhancementisanimportantbranchofimageprocessingisedgeextraction,imagesegmentationbasis.Astheimageacquisitionandtransmissiondistortionoccurs,affectingtheimageandunderstandingofthemachine.Articleintroducesthemethodofaddinganalognoise:

Gaussiannoiseandsaltandpeppernoise,andcommonspatialapproach:

themeanfilterandmedianfilter.Throughtheexperiment,whichfoundthatdifferentmethodsofimageenhancementhavebeendifferent.

Keywords:

Gaussiannoise,saltandpeppernoise,medianfiltermeanfilterImageEnhancement

1.数字图像处理及MATLAB简介

数字图像处理(DigitalImageProcessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。

数字图像处理作为一门学科大约形成于20世纪60年代初期。

早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。

图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

首次获得实际成功应用的是美国喷气推进实验室(JPL)。

他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。

随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。

在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。

数字图像处理取得的另一个巨大成就是在医学上获得的成果。

1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(ComputerTomograph)。

CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。

1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。

1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。

与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。

随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。

人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。

很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。

其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。

图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

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

 

2.设计方案介绍

2.1设计思路

本次课程设计我做的题目是“基于matlab图像增强的比较及其理论分析”,要求实现的功能是:

在了解图像处理原理及MATLAB基本操作的基础上,给定一张灰度图片,模拟加入高斯噪声、椒盐噪声等若干噪声,然后使用中值滤波、均值滤波等方法进行图像增强记录每一种方法的过程,并进行比较,分析哪种噪声的所对应的增强方法效果最好。

因此我们要做的工作是,先找到一副灰度图片,再依次模拟加入高斯噪声、椒盐噪声,在运用MATLAB函数库里面提供的中值滤波、均值滤波函数对该图像进行增强处理,最后将两种方法得到的结果进行比较并与理论分析作对比。

由于不能确定该图像是不是灰度图像,所以在加入模拟噪声之前还要对图像进行判断,检验它是否为灰度图片。

于是我先在网上下载一幅灰度图片,然后对其依次进行如下操作:

1.将该图片导入MATLAB工作平台放在MATLAB的文件夹下;

2.用imfinfo()函数或isgray()函数检验该图片是否为灰度图像;

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

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

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

 

2.2.设计流程图

图2.1程序流程图

编程时先将该图片放在MATLAB的文件夹下,再用imfinfo()函数或isgray()函数检验该图片是否为灰度图像;然后利用MATLAB图像处理工具箱提供的模拟噪声生成函数imnoise,分别对该图片模拟加入高斯噪声和椒盐噪声;接着利用MATLAB软件对加入噪声的该图片进行中值滤波和均值滤波处理;最后记录处理后生成的图样,比较分析哪种方法增强效果最佳。

3.具体设计

3.1程序设计版块

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

在MATLAB命令输入窗中,调用函数info=imfinfo(‘FILENAME.FMT’)。

如查看我用的图片属性,在命令窗口输入info=imfinfo('1.JPG'),得到如下结果:

Filename:

'1.JPG'

FileModDate:

'05-七月-201012:

01:

32'

FileSize:

3322

Format:

'jpg'

FormatVersion:

''

Width:

116

Height:

139

BitDepth:

8

ColorType:

'grayscale'

FormatSignature:

''

NumberOfSamples:

1

CodingMethod:

'Huffman'

CodingProcess:

'Sequential'

Comment:

{}在ColorType:

'grayscale'

属性行如此显示,图片类型ColorType:

'grayscale',说明该图片为灰度图像。

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

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;本次课设中加入均值为0,方差为0.04的高斯噪声,即imnoise(I,'gaussian',0,0.04)。

椒盐噪声J=imnoise(I,'salt&pepper',D)表示噪声浓度为D的椒盐噪声。

D的默认值为0.05,本次课设中加入噪声浓度为0.09的椒盐噪声,即imnoise(I,'salt&pepper',0.09)。

3.1.3均值滤波处理

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

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

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

A为输入图像,h为滤波算子,B为输出图像。

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

h=fspecial(type,para)其中:

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

type='average',表示为均值滤波器,para默认为3,本程序段中para位1。

3.1.4中值滤波处理

MATLAB图像处理工具箱中,提供了medfilt2和ordfilt2函数,用于

现中值滤波。

ordfilt2的格式为:

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

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

medfilt2格式为:

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

A为输入图像,B为输出图像,[mn]为窗口大小,默认值为[33]。

该程序段中采用的是medfilt2函数,且均采用默认值,即medfilt2(J1)和medfilt2(J2)。

3.1.5维纳滤波

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

wiener2(I,[m,n])其中:

I为图片的代码,[mn]为窗口大小,默认值为[33]。

3.2程序代码

I=imread('1.JPG');

J1=imnoise(I,'gaussian',0,0.04);

J2=imnoise(I,'salt&pepper',0.09);

K1=medfilt2(J1,[55]);

K2=medfilt2(J2,[55]);

K3=filter2(fspecial('average',1),J1);

K4=filter2(fspecial('average',1),J2);

K5=wiener2(J1,[55]);

K6=wiener2(J2,[55]);

info=imfinfo('1.JPG');

pause

figure

(1)

subplot(1,3,1)

imshow(I)

title('原始图片')

subplot(1,3,2)

imshow(J1)

title('高斯噪声')

subplot(1,3,3)

imshow(J2)

title('椒盐噪声')

pause

figure

(2)

subplot(2,2,1)

imshow(J1)

title('高斯噪声')

subplot(2,2,2)

imshow(K3)

title('中值滤波')

subplot(2,2,3)

imshow(K1)

title('均值滤波')

subplot(2,2,4)

imshow(K5)

title('维纳滤波')

pause

figure(3)

subplot(2,2,1)

imshow(J2)

title('椒盐噪声')

subplot(2,2,2)

imshow(K2)

title('中值滤波')

subplot(2,2,3)

imshow(K4)

title('均值滤波')

subplot(2,2,4)

imshow(K6)

title('维纳滤波')

pause

4结果显示

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

加入噪声前后图片对比如图4.1所示:

图4.1加入噪声前后图片

高斯噪声对应的均值滤波和中值滤波及维纳滤波图像对比如图4.2所示:

图4.2高斯噪声对应的增强图片

椒盐噪声对应的均值滤波和中值滤波及维纳滤波图像对比如图4.3所示:

图4.3椒盐噪声对应的增强图片

5.结果分析

目前比较经典的图像去噪算法主要有以下三种:

均值滤波:

也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。

有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。

中值滤波:

基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。

中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。

其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。

很容易自适应化。

维纳滤波:

使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。

对于去除高斯噪声效果明显。

以下是对三种滤波器原理介绍及相互比较:

5.1均值滤波

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。

再用模板中的全体像素的平均值来代替原来像素值。

均值滤波也称为线性滤波,其采用的主要方法为领域平均法。

线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m∑f(x,y)m为该模板中包含当前像素在内的像素总个数。

从图像中取一子区域(称为邻域),其内含若干象素,要处理的象素位于邻域的中心。

然后求出邻域中各象素(不包含要处理的象素点)的灰度平均值:

由于图像中相邻象素之间有很强的相关性,如果该点

无噪声,则其灰度应和邻域平均值基本相等,反之,两者有明显差别。

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

5.2中值滤波

中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值,中值种植滤波实现方法:

  1:

通过从图像中的某个采样窗口取出奇数个数据进行排序

  2:

用排序后的中值取代要处理的数据即可

  中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。

方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。

二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)},其中,f(x,y),g(x,y)分别为原始图像和处理后图像。

W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

如何有效地选择一个最有可能代表邻域特征的像素灰度就成了算法的核心问题。

直观地,邻域像素中灰度大小居中的点通常能很好地描述邻域的属性,因此在中值滤波算法中,中心像素的灰度是通过对邻域内像素灰度排序然后取中值来确定的。

中值滤波不仅对孤立杂点的消除效果显著,对稍密集的杂点或稍大的杂点也有很好的去除效果。

对比简单平滑的结果不难看出中值滤波对消除离散型杂点的显著效果。

中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.

5.3维纳滤波

假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性,维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。

在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。

维纳滤波器的输入为含噪声的随机信号。

期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。

因此均方误差越小,噪声滤除效果就越好。

为使均方误差最小,关键在于求冲激响应。

如果能够满足维纳-霍夫方程,就可使维纳滤波器达到最佳。

根据维纳-霍夫方程,最佳维纳滤波器的冲激响应,完全由输入自相关函数以及输入与期望输出的互相关函数所决定。

维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。

对某些问题,还可求出滤波器传递函数的显式解,并进而采用由简单的物理元件组成的网络构成维纳滤波器。

维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。

因此,维纳滤波在实际问题中应用不多。

实现维纳滤波的要求是:

1.输入过程是广义平稳的

2.输入过程的统计特性是已知的。

根据其他最佳准则的滤波器亦有同样要求

维纳滤波器是一种自适应滤波器,根据局部方差来调整滤波器效果。

对于去除高斯噪声效果明显。

对交验噪声也有一定影响。

结合理论与实际结果可以得出结论:

1.均值滤波器适用于消除高斯噪声;

2.中值滤波器适用于消除椒盐噪声;

3.维纳滤波器对两种噪声对有一定效果,理论上更善于消除高斯噪声。

6.心得体会

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

通过这次课程设计使我懂得了理论与实际相结合是很重要的,要多动手写程序、调试,如果懒得写程序,调试程序,永远无法提高。

我个人认为调试程序更重要。

有些朋友可能在一个程序调试几下出不了结果时,就可能喜欢去问别人,我不太赞同这一做法。

其实,凡事往往经过痛苦折磨后,才会让你印象深刻,收益更大。

我建议在你觉得用尽你努力后,仍然无法有结果时,才去请教别人。

我当初一个程序调试过一两个星期都有过。

在这论坛上,你可以发现不少好的问题,对这些问题,不要光看别人如果解决,也不要光想怎么解决,自己坐下来,动手自己解决一下,那你就会把不是你的知识变成自己的知识。

还要善于利用MATLAB的帮助,可以这么说,任何问题都可以在MATLAB的帮助里找到解决的办法。

问题不论大小,都是由更小的问题组成,把大问题化为小问题,小函数,然后再到MATLAB帮助里去找这种小问题,小函数的用法。

说实话,MATLAB里的函数太多,我也经常忘记一些用法,这时HELP就帮忙了。

善于向别人学习在你解决一个问题后,你可能会发现别人有更简便的方法解决,更强的函数,就时就是你向别人学习的时候。

说实话,在这论坛上,我也向bzzz,bainhome等学习借鉴不少。

随着时间积累,效果会更好。

时间长了,积累多了,当然也就有进步了。

呵呵,也许再过几年,你会发现原来问题也不是以前想的那么难。

而lyrock在这里发的也是“打糊乱说,小儿科”,那时你就已经积累不少了。

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

最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

参考文献

[1]阮秋琦主编,数字图像处理(MATLAB版)北京:

电子工业出版社,2007.10.

[2]孙祥吴清编著,MATLAB7.0基础教程北京:

清华大学出版社,2005.5.

[3]吴国平主编,数字图像处理原理北京:

电子工业出版社,2007.9

[4]王慧琴主编,数字图像处理北京:

高等教育出版社,2006.5

[5]霍宏涛主编,数字图像处理北京:

清华大学出版社,2002.9

[6]杨杰黄朝兵主编,数字图像处理北京:

电子工业出版社,2009.12

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2