应用MATLAB实现医学图像边缘检测.docx
- 文档编号:9933633
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:18
- 大小:1.35MB
应用MATLAB实现医学图像边缘检测.docx
《应用MATLAB实现医学图像边缘检测.docx》由会员分享,可在线阅读,更多相关《应用MATLAB实现医学图像边缘检测.docx(18页珍藏版)》请在冰豆网上搜索。
应用MATLAB实现医学图像边缘检测
ⅹⅹⅹⅹ学院
毕业论文
应用MATLAB实现医学图像边缘检测
学生姓名
学院
专业
班级
学号
指导教师
2015年5月17日
毕业论文(设计)承诺书
本人郑重承诺:
1、本论文(设计)是在指导教师的指导下,查阅相关文献,进行分析研究,独立撰写而成的.
2、本论文(设计)中,所有实验、数据和有关材料均是真实的.
3、本论文(设计)中除引文和致谢的内容外,不包含其他人或机构已经撰写发表过的研究成果.
4、本论文(设计)如有剽窃他人研究成果的情况,一切后果自负.
学生(签名):
2015年5月17日
摘要
图像边缘反映了图像最基本的特征,在医学领域,医学图像边缘检测是医学图像处理和分析的关键步骤,它的清晰与否直接影响到医生诊断的速度和准确性。
为了研究如何从医学图像中提取有价值的信息,本文结合MATLAB在图像处理中的应用,通过实现医学图像边缘检测的一些具体算法得到结论。
然后在实现了肺部CT图像边缘处理的基础上对结果进行分析研究,充分研究这几种算法各自的特点。
最后结合文献,论述了一些新的构想。
这些全新的思想将给我们的研究提供巨大的帮助。
【关键词】边缘检测;MATLAB;数字医学图像
Abstract
Theedgeoftheimagereflectsthebasicfeaturesoftheimage,inthemedicalfield,medicalimageedgedetectioninmedicalimageprocessingandanalysisofkeysteps,whichdirectlyaffectstheclarityofthespeedandaccuracyofmedicaldiagnosis.
Inordertostudyhowtoextractvaluableinformationfromthemedicalimages,thisarticlebasesonMATLABapplicationinimageprocessing,theresultsobtainedbycomparisonofspecificalgorithmsofedgedetection.Inaddition,theresultsareanalyzedbasedontheedgeofmedicalimageprocessing,inordertounderstandofthefeaturesofthesealgorithmsrespectively.Atlast,Somenewconceptionshaveprovidedhugeresearchpotentialtous.
[Keywords]edgedetection;MATLAB;Digitalmedicalimages
引言
医学图像处理技术作为一种科学技术在医学临床中的需要越来越被大家所重视。
医学图像处理技术是一种在计算机的基础上对医学图像进行处理和加工的技术,数字图像是计算机处理的对象。
本文研究的对象为数字医学图像。
医学图像边缘包含了大量的信息,在临床医学上面对患者的诊断有着至关重要的作用。
简单地说,数字医学图像边缘检测就是对一些具有特定特性的灰度点的定位、定向和度量。
这是医学图像分析和研究中的重要步骤,对匹配、识别和高层次的特征描述产生重大的影响。
由于考虑到自身的复杂性以及外界种种因素的叠加,医学图像边缘检测的实现是一个比较复杂的过程。
考虑到临床诊断治疗对医学图像的特殊要求,同时考虑到医学图像的特殊性,想要研究出能够高效地去除噪声,又能够取得比较丰富的边缘信息的算法始终吸引着大批图像处理领域的人才去探索。
同时因为实现这两个要求实际上是调和一对相互矛盾的事物,这项研究也是当下的一个难点。
为了研究如何从医学图像中提取有价值的信息,本文结合MATLAB在图像处理中的应用,通过实现医学图像边缘检测的一些具体算法得到结论。
然后在实现了肺部CT图像边缘处理的基础上对结果进行分析研究,充分研究这几种算法各自的特点。
1概述
1.1MATLAB
MATLAB于1984年诞生于美国MathWorkshrks公司,得益于很长一段时间的更新和升级,现在已经有数以千万计的研究人员正在使用它完成复杂的理论实践研究工作。
它不仅是一种简洁明了的计算机语言,还可以作为一个计算机平台使用。
通过它自带的大量的公式和函数,会节省研究人员大量的工作和精力。
MATLAB软件是一款跨平台的软件,具有较强的适应性[1]。
同时世界上任意一个角落的人员都可以根据相应的语法规则来升级这款软件。
在同一个内核内工作时,MATLAB能够针对各种学科推出与之对应的不同的工具箱,医学图像方面研究人员工作的效率被提升了很大一个层次。
1.2医学图像边缘检测
对灰度变化的度量与定位是边缘检测的实质:
边缘点附近灰度变化是否剧烈通常用导数来做具体的量化。
因此研究人员求一阶导数的局部极大值以及二阶导数的过零点其实就是边缘检测的最基本的原理[2]。
1.2.1图像边缘检测的目的
要利用计算机进行医学图像处理的原因是希望计算机能产生更适合医务人员识别和研究的医疗图像;还有就是希望能让计算机自动识别和认识医学图像,为医务人员提供准确的数据和病理信息,因此这一步骤的重要性不言而喻。
1.2.2边缘检测算子的基本原理
在医学图像边缘检测中,若某一像素处于医学图像中某个组织的边缘处,那么这时这个像素的相邻区域会出现灰度级的变化。
因为灰度的变化是矢量,所以有两个基本特征可以直观地反映这种变化。
灰度变化的速率和灰度变化方向作为这两个特征将被我们着重研究。
从这里我们可以发现数学在计算机视觉研究中的重要地位!
从以上的分析我们可以简单地说:
想要真正了解图像的边缘并把它从杂乱的背景中提取出来,我们真正所需要着重研究的其实就是每个点附近的灰度的变化特征。
灰度变化的速率和灰度变化方向这两个特征的定义在上一段中提到。
结合数学中的一阶导数二阶导数的知识,边缘检测局部算子法由此诞生,并在全世界的范围内广泛流行,它还为研究人员在更进一步探索时奠定了良好的理论基础。
2医学图像边缘检测预处理
2.1图像灰度化
灰度图像就像一张黑白照片,而图像灰度化就是把彩色照片的色彩去掉。
医院的医疗设备所采集的图像是RGB模式的彩色图,彩色图占存储空间大,也包含了很多的信息,会让算法变得非常复杂。
但是太复杂的算法会让医学图像边缘检测实现的难度大大增加,也就是会对它的可行性产生影响。
所以一定要对彩色图像进行灰度化。
当灰度值(R,G,B的值)[3]相等时,得到一种灰度颜色。
灰度化有4种方法:
分量法、加权平均法、平均值法、最大值法[4]。
但我们熟悉了MATLAB之后,我们只需要简单地利用rgb2gray函数即可。
本文中我们通过研究CT图像来比较五种边缘检测算法之间的共性和区别。
因为CT图像均为灰度图像,所以本文中的CT图像经过灰度化之后仍然还是灰度图像,这一步在本文中的意义不大。
但我们研究的是一种一般的状态,除了CT图像医学临床中还有很多其他类似的图像,其中就包括彩色的图像。
但是MATLAB在对彩色图像进行边缘检测时会非常复杂。
所以如果在处理其他形式的医学图像处理时如果遇到的是彩色图像,则需要进行图像的灰度化处理。
进行灰度化处理时利用MATLAB相对来说比较方便直观,研究的效率会有明显的提高,笔者先把MATLAB实现灰度的MATLAB代码见附录一。
肺部CT原始图像呈现如下:
图2-1原始图像-肺部CT图像
2.2图像增强
图像灰度化使得图像的对比度变得并不是很高,难以准确确定组织器官。
将医学图像边缘抽取出来这一工作也因此不是一项简单的任务。
为了需要检测的部位图像和其他组织图像的对比度更高,明暗对比更加鲜明,需要对医学图像的边缘进行增强,以便于提高辨识率。
为了从医疗图像中获取更有用的信息,使医学图像更清晰,对比度更高,或者说将图像转换成更容易观察、分析和识别的图像,这个过程就是图像增强。
增强图像的基本方法通常有两种:
空间域方法和频域方法[5]。
图像开操作乍看起来是一种减法,图像变得很模糊,好像没有什么实际应用价值。
但这一步其实是图像增强操作的预先步骤,只有先进行这一步开操作,才能在接下来的试验中取得更好的效果。
进一步处理的结果如图2-2、2-3所示。
图2-2开操作图像
图2-3增强图像
3医学图像边缘检测算法
边缘提取是在数字医学图像中,对医学图像的轮廓进行的处理的方法[6]。
确定医学图像中组织边界的一种方法就是检测每个像素和其直接领域的状态,然后确定该像素是否确实处于生物组织的边界上。
3.1Roberts边缘检测算子
这种边缘检测算子最适合使用在边缘清晰同时噪点又很少的图像上。
它之所以能够寻找到边缘就在于利用局部差分算子[7]。
算子公式如下:
在MATLAB中经过Roberts算子处理之后的成果见图3-1。
从结果可以看出,经过Roberts算子处理过后的图像中噪声较少[8],但是同时过滤掉的细节过多,肺部的轮廓不是很明显,只有细节处的一些纹理。
也就是说虽然它消除了一定的噪声,但同时这种算法会轻易损失掉最有价值的边缘信息,而且正是我们需要的信息。
算法的详细代码见附录二。
图3-1Roberts算子处理后的图像
3.2Canny边缘检测算法
MATLAB中集成了这种算法并提供给我们该方法的接口。
这大大提高了研究人员执行该算法的效率。
我们只需要在MATLAB中调用这个算法就可以得到我们需要的结果。
它是一阶传统微分中检测阶跃性边缘效果最好的算子之一[9],与其他经典边缘检测算子相比,Canny算子消除噪的能力非常突出,但它一些边缘信息也容易被丢失掉。
实验结果如图4-2所示。
从结果可以看出,Canny算子的定位非常准确,而且边缘非常细腻,虚假的伪边缘也几乎没有,几乎所有的细节都能和清晰地显示出来。
从医学临床的角度来看,医生直接观察原始CT图像是无法发现这么丰富的信息的。
它对图像的处理无疑对病情的诊断和恢复治疗产生巨大的促进作用。
图像的信息被清晰地展示给医务人员,让他们更好地为病人服务。
图3-2Canny算子处理后的图像
3.3Prewitt算子和Sobel算子
这两种算子的共同点很明显,原因在于它们归根结底使用的基本方法都是梯度这一概念。
所以可以将他们两种归结在一起进行研究观察。
共同点归根结底在于他们都是
的加权平均算子。
除了这点之外,还有的一点在于它们都能在一定程度上对噪声进行抑制。
Prewitt算子模板为:
和
Sobel算子模板为:
和
它们对经过增强处理的肺部CT图像的处理结果如图3-3、3-4所示。
从结果也可以看出来他们的相似性。
所以将它们归结在一起进行分析是有道理的。
虽然他们的噪声几乎被分解掉,但是肺部图像边缘有用的信息损失很多,效果明显没有Canny的效果好。
在Prewitt算法来说,需要检测的图像中中边缘幅值较小的边缘被忽略掉了,而幅值比较大的区域又会产生原本并不存在的边缘,显然这种算法的实现效果是很不好的。
图3-3Prewitt算子处理后的图像
图3-4Sobel算子处理后的图像
3.4Log算子
对于它来说,各个方向具有相同的性质。
所以,如果我们的需要是对各个不同的方向不同走向的边缘进行锐化,Log算子在各个不同的方向上面的实现效果不会有有很大的偏差,大多数点都满足我们的需求,具有各向同性。
换句话说,也就是处理后的结果都很接近。
Log算子的这种特性给我们耳目一新的感觉。
通过MATALB实现的结果如图3-5所示。
肺部CT图像经过Log算子的运算后,我们都可以看到,影响医疗人员诊断的噪声几乎都被消除了。
剩下的有价值的边缘所呈现的效果令笔者非常满意,这个结果几乎包含了人们需要的所有信息。
这些信息将对我们提高诊断命中率、普及更加先进的医疗设备带来巨大的便利。
这个算法在MATLAB中的实现也不是很困难,如果有需要,还可以根据不同的需要植入不同的医疗设备中,结合编程原理,可以制造出具有意义重大的医学设备,这也正是这篇文章的意义所在。
图3-5Log算子处理得出结果
4五种检测算子的对比分析
用上面介绍的五种不同的算法对医学图像进行边缘检测,MATLAB实现代码见附录三。
肺部CT图像经过仿真实验模拟得出的结果见图4-1。
图4-1结果对比分析
从我的实验结果得出的图像可以看出来,噪声和边缘被明显地区分为两个不同的状态,对临床上面的帮助无疑是巨大的。
通过我的实验可以得出,这种经典边缘检测方法会对医生的临床诊断做出一定的帮助。
还可以从我的实验结果得出的图像可以看出来,Log算法的效果是最好的,判断边缘检测算法优劣的三条原则用Log算子几乎都能很好地完成,这点对今后医疗上的帮助是非常大的。
噪声和图像边缘被明显地区分为两个不同的状态,医疗人员根据自己所掌握的的医学知识可以轻松地做出诊断。
这个算法对临床上面的帮助无疑是巨大的。
所以通过实验可以得出,这种经典边缘检测方法会对医生的临床诊断做出一定的帮助,这也是本文的价值所在。
Canny算法过滤噪声的效果不是非常好,但是如果只看边缘的信息还是能得到我们需要的大部分的边缘信息,并且位置都很准确,完全没有一点伪边缘。
但从整体看,效果稍微弱于Log算法,原因在于噪声的平滑处理不够好,会产生一定的伪边缘。
Prewitt算子消除了大部分的噪声,因为这些信息是没有任何用处的,只会对我们产生负面的影响。
算法实现的过程当中滤波实现效果很好,检测出的边缘比较细,定位精度较高。
但它容易让处理过后的医学图像损失角点,滤去了一大部分有价值的信息,医学图像边缘显示不是很明显。
由于医学图像处理的本质就是让图像中不明显的细节能够在处理之后清晰得展示出来,所以Prewitt算子和sobel在临床上的应用很有限。
现在这两种算子大多还是在理论研究中才能出现,在实际地生活中的应用可以说是越来越少。
由对比结果可以看出,Roberts算子在医学诊断等领域中对疾病的诊断和治疗更是十分有限。
所以从笔者的实验结果可以得出,梯度算子的效果往往比较差。
虽然一阶导数算子中也包括了这里的Canny算子,从这点上来看它和其他几种可以定性为同一类的边缘检测算法。
但是它与其他一阶导数算子的执行顺序有很大的区别,在于Canny算子是预先进行医学图像平滑处理,随即进行肺部CT图像边缘检测的。
因此它和拉普拉斯算子都令我们比较满意。
Log算子是拉普拉斯算子中最经典的一种,属于二阶导数范畴的一种[10]。
它是拉普拉斯算子的一种改进,在图像被平滑处理之后才运动二阶导数的边缘检测算子。
处理经典的边缘借测算法,现在越来越多的新的方法在这些经典算子的基础上被研究出来了。
有一种在前面介绍的算法的基础上同时又结合了小波分析理论的全新算法,改进得出的效果更好、实际作用更大的边缘检测算法。
简单来说,算法的基本原理就是在医学图像边缘检测之前把小波分析理论运用到图像中。
实验结果表明,这种算法的性能比经典边缘检测算法更优。
5总结和展望
5.1总结
随着计算机技术、CT(计算机断层扫描)、MRI(核磁共振)等医学影像技术的不断发展,现代医学已经越来越离不开医学图像边缘的处理。
医学图像边缘检测为医生准确定位病灶的空间位置、大小提供了有效依据,进而帮助医生对病情做出准确判断,有一定的临床应用价值。
本文通过MATLAB仿真实验,确定了可行性高,有实用性的医学图像边缘检测技术。
为医务人员的工作提供了强有力的帮助。
随着科技的进步,更多更好的边缘处理方法被提出来,这也给医学上的进步提供了有力的支持。
撰写论文期间,我所做的工作有:
a.通过MATLAB进行一个仿真实验,验证了相关算法的可行性;
b.通过实验,分析总结关于图像边缘的检测技术。
5.2展望
在临床上获取实际医学图像时,图像数据往往被噪声污染。
医学图像边缘检测方法要求既能检测到边缘的精确位置,又可以抑制无关细节和噪声。
大部分传统的边缘检测方法通常只局限于检测单一类型的边缘。
图像边缘检测是一个很复杂的问题,不同的医学图像包含的边缘类型各不相同,检测单一类型的边缘往往难以满足实际应用的要求。
早期经典算法包括边缘算子法、曲面拟合法、模板匹配法、门限化法等。
近年来随着数字理论及人工智能的发展,又涌现出许多新的边缘检测方法,如小波变换和小波包的边缘检测法、基于数学形态学、模糊理论和神经网络的边缘检测方法。
人们设法利用边缘信息来寻找边缘,进而实现图像的识别和解释分析。
在不同的医学应用中,人们要实现的目标也不同,目标边缘、图像纹理甚至噪声都可能成为有意义的边缘。
虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用与各种图像的有效方法。
根据具体应用要求,设计新的边缘检测方法或对现有的方法进行改进,以得到满意的边缘检测结果依然是目前图像处理中研究的热点之一。
参考文献
[1]张翠萍.图像边缘信息处理技术研究及应用.东北石油大学硕士生学位论文[D],2007.55.
[2]严萍曾金明.一种有效的车牌定位方法——数学形态学和字符边缘特征相结合的车牌定位方法[J].西昌学院学报:
自然科学版,2011年2期.7.
[3]江南春.肛管外病症计算机辅助诊断的图像分割和目标跟踪.中南大学硕士生学位论文[D],2006.76.
[4]王湘君.基于结构光的视觉测量系统的研究与开发.南昌大学硕士生学位论文[D],2011.76.
[5]张艳群孟凡荣.MATLAB在图像边缘检测中的应用[J].计算机应用研究,2004年6期.144-146.
[6]MALLATS,ZHONGS.CharacterizationofSignalsMulti-scaleEdges[J].IEEETrans,1992,14(07):
710-732.
[7]樊洪斌.脉冲耦合神经网络在医学图像处理中的应用研究.广西师范大学硕士学位论文[D].2009.55.
[8]YanpeiLiu,AuroraMorgana,BrunoSimeone.ALinearAlgorithmfor2-bendEmbeddingsofPlanarGraphsintheTwo-demensionalGrid[J].DiscreteAppliedMathematics,1998,81:
69-91.
[9]JajaJ.anIntroductiontoParallelAlgorithms[M].MA:
Addison-WesleyPublishingCompany,1992.120-230.
[10]王乃发,彭良玉.一种改进的医学图像边缘检测算法[J].通信技术.2012,第二期.113.
[11]谭毓银.几种图像边缘检测算子的比较分析[J].电脑知识与技术.2012.10月.8326-8328.
附录
附录一:
A=imread(‘lungCT.jpg’);
I=rgb2gray(A);
figure,imshow(I);
title(‘灰度化图像’);
附录二:
a=imread(‘reinforced.jpg’);
I=rgb2gray(a);
B=edge(I,’sobel’);
Figure,imshow(B);
title(‘sobel算子’);
附录三:
I=imread(‘rein.jpg’);
I=rgb2gray(I);
BW1=edge(I,’roberts’);
BW2=edge(I,’prewitt’);
BW3=edge(I,’sobel’);
BW4=edge(I,’canny’);
BW5=edge(I,’log’);
subplot(321),imshow(I),title(‘originalimage’);
subplot(322),imshow(BW1),title(‘roberts’);
subplot(323),imshow(BW2),title(‘prewitt’);
subplot(324),imshow(BW3),title(‘sobel’);
subplot(325),imshow(BW4),title(‘canny’);
subplot(326),imshow(BW5),title(‘log’);
、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 MATLAB 实现 医学 图像 边缘 检测
![提示](https://static.bdocx.com/images/bang_tan.gif)