医学图像处理系统平台的研究与开发论文任务书现给你下达毕业设计(论文)任务如下,要求你在预定时间内,完成此项任务。一、设计题目医学图像处理系统平台的研究与开发二、设计(论文)背景医学图像处理就是利用计算机系统对医学图像进行的具有临床医学意义的处理和分析,发现并分析医学图像上的异常的情况,帮助医生诊断病情。随着计算机技术的发展,医学图像处理由于能够在图像上分辨出不同的边界,从而区分不同的机体组织结构,它已成为医疗诊断中一个非常重要的手段。但是由于某些病理的特殊情况或一些客观原因,有些结构的边界非常模糊不清或不太明显,给诊断带来了一定的困难。这就需要通过图像处理的方法来降低图像噪声,并在此的基础上检测和增强图像的边界,将不同的结构区分开,特别是将病灶区分出来。现有的实用医学影像处理系统中,大多采用传统的空间或频率域图像处理方法,处理的效果不甚理想,为此,当今学者致力于寻找合适的算法进行医学图像的降噪和病灶区域的分割,以提高医影像处理系统的性能。三、设计(论文)内容及目标设计内容:(1)研究针对医学图像的降噪的方法,以达到提高图像的信噪比和质量的目的。(2)研究针对医学图像的分割方法,分析并比较各个图像分割及边缘检测技术的处理效果,利用其中较好的方法提取出病人病灶区域,并计算该区域的面积。(3)研究针对医学图像的压缩的方法,通过将图像压缩,可以减少图像的数据量,更容易于存储,处理和传输。设计目标:本课题设计的实验系统能够完成医学图像分析必需的基本降噪目标,并且分割出病灶区域图像及计算病灶面积,以及解决了病人大量的图像压缩存储问题,更加有利于医生通过图像随时地做出正确的诊断。该系统可以在以后的工作中进一步拓展成为可以实际应用的医学图像处理系统。四、进度安排周次 工 作 内 容 预 定 目 标1 毕业设计调研实习 调研相关背景资料2 查询文献资料 写报告资料3 查阅文献资料 准备文献资料4~6 图像降噪分析 完成图像降噪算法7~12 图像边缘分割方法 完成图像边缘分割算法13~15 图像编码压缩方法 完成图像编码压缩算法16 撰写毕业论文 撰写毕业论文五、毕业设计(论文)时间: 2008 年 1 月 5 日到 2008 年 6 月 20 日六、本设计(论文)必须完成的内容:1、调查研究、查阅文献和搜集资料;2、阅读和翻译与研究内容有关的外文资料(外文翻译不能少于2.5万字符);3、撰写开题报告或文献综述,确定设计方案;4、系统总体设计方案,包括主要开发工具及平台;5、系统详细设计方案,包括控制流程图、功能模块、数据流图、程序框图、开发关键技术等;6、系统设计的源程序;7、撰写毕业设计(论文)。
七、备注1、本任务书一式三份,系、教师、学生各执一份;2、学生须将此任务书装订在毕业设计(论文)材料中。382
目录1、绪论 11.1引言 11.2课题研究的背景与意义 11.3医学图像处理的内容 11.3.1医学图像的降噪 11.3.2医学图像的增强 11.3.3医学图像的分割 21.3.4医学图像的压缩 21.4国内外研究相关概况 21.5本课题的工作重点 32、医学图像的降噪处理方法 42.1图像的噪声 42.2图像的降噪处理 42.2.1图像的中值滤波技术 42.2.2图像的小波分析理论基础 62.2.3小波分解 82.2.4小波降噪处理 92.3图像处理的结果分析 102.4本章小结 103、医学图像的分割处理 113.1图像边缘检测 113.1.1常用的边缘检测方法 113.1.2几种边缘检测方法的优缺点 143.1.3边缘检测结果分析 143.2图像的分割 143.2.1直方图分割方法 153.2.2分水岭法分割 163.3图像分割结果分析 173.4目标区域分离法计算图像病灶区域面积 173.5本章小结 184、医学图像的压缩方法 194.1医学图像压缩的出发点与基本模型 194.1.1医学图像压缩的出发点 194.1.2医学图像压缩的基本模型 194.2图像压缩编码 204.3余弦离散变换(DCT) 204.3.1余弦离散变换原理 204.3.2 DCT应用于图像压缩 214.4DCT算法压缩图像结果的分析 224.5小波变换压缩 224.6本章小结 255、医学图像处理平台的设计与实现 265.1基于MATLAB的系统平台总体设计 265.1.1MATLAB简介 265.1.2MATLAB在图像处理中的应用 265.2图形用户界面(GUI) 275.3系统图形界面介绍 285.3.1GUI界面布局设计 285.3.2GUI各功能模块的设计 295.4本章小结 316、总结与展望 326.1主要研究成果 326.2展望 32参考文献 33致 谢 34附件 382
医学图像处理系统平台的研究与开发绪论1.1引言医学图像处理技术是现代医学中重要的组成部分,并且已经成为医学技术中发展最快的领域之一。医学最早出现图像识别是波形识别,如心电、脑电及其它生物医学信号处理。70年代后期微处理器的出现和微型计算机的兴起,使生物医学信号处理得到进一步的发展,已试制出不少商品化的智能化仪器,如心功能监护自动报警器、舌诊测仪、电脑智能脉象计量诊断仪、脑中风预测仪、生化分析仪等。随着电子计算机断层扫描仪(CT)、核磁共振仪(NMR)、正电子发射成像(PET)、单光子发射成像(SPECT)等的出现,给医学影像学带来了巨大的突破,近年来工作已深入到检测显微图像的重要特征的阶段,使检测工作达到了快速、准确、方便的要求,开创了病理学定量的广阔前景。另外计算机在三维超声诊断、各种射线治疗设备(如X刀、γ刀等)、计算机辅助外科等方面的应用,大大提高了医疗水平水平。因此,以计算机技术为依托,数字图像处理是医学图像处理领域中极为重要的一个方法,它是使医生获得病人病情可靠信息的重要保证,也是医生开展进一步治疗的必要条件。它对医学图像处理包括:图像的预处理、特征的提取、图像分割、图像配准、图像融合、纹理分析和伪色彩处理等[1]。图像的压缩传输技术也是当前研究的一个热点,也是本文研究的一个重点。这种技术依赖于数字图像的压缩编码和现代通信技术,它的出现使得远程医疗成为可能,并加强了医疗的即时性。1.2课题研究的背景与意义图像是人们从客观世界获取信息的重要来源。传统的医学图像处理技术是以物理和现代的电子计算机技术为基础的,就成像机理而论主要包括:投影X射线成像、X射线计算机断层成像、超声成像、放射性核素、磁共振成像等。随着行算机技术的进一步发展,基于全信息摄影的三维成像技术也得到日益广泛的应用,从而进一步提升了医学图像诊断技术的清晰性和准确性。1.3医学图像处理的内容医学图像处理的内容很多,本论文主要包括有:图像降噪、图像增强、图像分割和图像压缩。1.3.1医学图像的降噪数字图像难免会受到各种噪声的污染。图像的创建方式不同,噪声的类型也不尽相同。例如,图像是由胶片经图像扫描仪得到的,则胶片上的粗糙颗粒就是噪声源。除此之外,噪声也可能由于胶片损坏扫描仪本身所致。如果图像直接通过数字化方式获取,则收集数据的仪器(例如CCD探测器)也可能带来噪声。同样,图像数据的电子转换设备也会带来噪声。图像的网络传输也会带来噪声。医学图像亦一样,通过用各种方法对图像降噪, 可以对图像中杂讯信号进行过滤,有效抑制噪声点,杂波,使画面更清晰,整洁,这样更利于医生分析和诊断。1.3.2医学图像的增强图像的增强是指按照特定的需要突出一副图像的和某些信息,同时削弱或去除某些不需要的信息的处理方法。其主要的目的是使处理后的图像对某种特定的应用来说,比原始图像更实用,增强后的图像往往能够增强对特殊信息的识别能力,常常用来改善人对图像的视觉效果,让观察者能够看到更加直接、清晰的图像。图像的增强处理包括有直方图修改处理、图像平滑滤波处理和图像尖锐处理等。在实际应用中可采取单一的办法来处理,也可以采用几种方法的联合处理,以达到预期的增强效果。1.3.3医学图像的分割 医学临床实践和研究常需要对人体某些组织和器官的形状、边界、截面面积以及体积等进行测量,从而得到组织病理或功能方面的重要信息。这些都需要对图像进行分割处理,同时,对图像进行三维重建以及医学图像的可视化也需要把图像分割处理作为基础。图像的分的算法有很多,但是远未达到完善。因此,医学图像分割算法的研究仍是当前医学图像处理的热点。1.3.4医学图像的压缩我们知道,医学成像技术的应用已越来越普及 。成像设备产生了大量的医学数字图像 ,但由于医学图像有其不同于一般图像的特点 ,如分辨率高、量化级多等 ,因而医学图像数据量较大 ,从而给存储和传输带来了极大的困难 ,随着远程诊断手段和医疗信息自动化的开展 ,这个困难将越来越突出 。医学图像压缩编码是医疗信息学一个重要的研究方向 ,它处理的是数字化医学图像。医学图像处理技术在现代化医院中得到了越来越广泛的应用。而现有的医学图像处理系统,大多采用传统的空间或频率域图像处理方法,但处理能力非常有限。随着信息时代的到来和计算机技术的不断发展,人们需要存储、处处理的信息越来越多,而图像作为这些信息中的重要形式,具有数据量大、带宽宽等特点,给图像的存储、处理、传输带来了很多的麻烦,尤其是图像信息的传输,一方面需要增加信道,但这很有限;另一方面,就必须减少图像表示的数据量,以达到压缩图像数据的目的。1.4国内外研究相关概况对医学图像的处理早在20世纪60年代末的美国和欧洲已经开始了,那时主要的任务是加快人工处理的速度以提高工作效率。这一时期的主要特点就是把40年代以来的图像处理技术直接运用到了这一新兴领域,取得了一些惊人的成果,比如对X光图片的初级特征检索速度比人工提高了2-3个数量级,误差小一个数量级。但是由于这一时里面,计算机硬件速度以及传统图像处理串行算的性质所限制,医学图像的处理没有如想象那样提高工作效果,但是也出现了一批喜人的成果,其中最主要的就是对一些基本的传统串行算法的改进,如直方图算法。从20世纪70年代末开始,医学图像处理进入了一个新的发展阶段,由于这一时期计算机硬件性能大幅度提升,以及基于知识挖掘和人工智能(特别是新型神经网络)技术的发展,一批智能化的并行算法涌现出来,为这些算法提供了极为广阔硬件的平台。20世纪90年代中期以来,医学图像处理正在迅速和计算机学科的其它的领域相互融合,展现出新的活力,而且对各类医学图像的处理的算法,有了一整套可行的质量判别标准。对于处理算法的质量分析成为一个热门的研究方向,其目的是为了更好的研究医学图像处理的本身,对各类算法起指导性作用。因此,随着对医学图像处理的评价体系更加深入的研究,它对这一领域的指导性将更加显著。在国内,随着改革开放二十年来的发展,医疗卫生事业的不断进步,医学图像处理的作用越来越大,数学化远程医疗的美好前景已经渐渐显现。各个著名高校、研究所对此做了很深入的研究,获得了一大批喜人的效果。1.5本课题的工作重点首先研究医学图像的降噪的方法,以达到提高图像的信噪比和质量的目的,主要对中值滤波方法和小波分析法两种方法的处理效果进行实验比较。其次研究医学图像的分割方法,分析并比较各个图像分割及边缘检测技术的处理效果,利用其中较好的方法提取出病人病灶区域,并计算该区域的面积,以利于医生进一步分析并作出正确的诊断。最后研究医学图像的压缩方法,通过将图像压缩编码,可以减少图像的数据量,更容易于存储,处理和传输。有大量的图像作为依据,医生就可以随时对病人作出准确的诊断。
医学图像的降噪处理方法2.1图像的噪声图像在获取过程中会由于干扰而产生噪声,使得图像的质量下降,对比度降低。引起噪声的原因有敏感元件内的噪声、照相底片上感光材料的颗粒、传输通道的干扰及量化噪声等。图像信号和噪声信号的功率之比(信噪比)是评价图像质量的一个重要参数。噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。根据噪声和图像信号的关系可将其分为两种形式。(1)加性噪声:有的噪声与图像信号g(x,y)无关的,在这种情况下,含噪图f(x,y)可表示为式(2-1)。 (2-1)信道噪声及扫描图像时产生属于加性噪声。(2)乘性噪声:有的噪声与图像有关。可分为两种情况:一种是某像素处噪声只与该像素的图像信号有关,另一种是某像素点处的噪声与该像素点及其邻域的图像信号有关。带有乘性噪声的图像信号表示为式(2-2)。 (2-2)另外,根据噪声服从的分布可分为高斯噪声、泊松噪声、颗粒噪声等。去除噪声是图像处理中很重要的一项。在时域法图像处理中往往采用图像平滑滤波去除噪声,图像平滑滤波最常用的是中值滤波。2.2图像的降噪处理 正是由于图像在实际应用过程中可能存在各种各样的噪声,而这些噪声可能在传输中产生,也可能在量化等处理中产生。用什么样的办法才能消除这些噪声的影响,在接下来的内容中我们介绍几种方法来探讨这些问题,最理想的方法当然是既能消除噪声,又不能使图像的边缘轮廓和线条变模糊。图像的平滑滤波方法有空域和频域法两大类。2.2.1图像的中值滤波技术 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。中值滤波的优点是运算简单且速度较快,在滤除叠加白噪声和长尾叠加噪声方面显示出了极好的性能[2]。在某些条件下,中值滤波方法可以去除噪声,保护图像边缘,使图像较好地复原,它非常适用于一些线性滤波器无法胜任的数字图像处理的应用场合。(1) 中值滤波原理中值滤波器是一种常用的非线性平滑滤波器,其原理与均值滤波器类似,二者不同之处在于:中值滤波器的输出像素值是由邻域像素的中间值而不是由平均值来决定的。中值对极限像素值(与周围像素灰度相差较大的像素)远不如平均值那么敏感,所以中值滤法器产生的模糊较少,更适合于消除图像的孤立点[3]。 中值滤法器首先将模板对应的像素灰度值{a1,a2,a3,……,an}进行排序,当n为奇数时,位于中间的位置的那个数值称为这n个数的中值。当n为偶数时,位于中间位置的两个数的平均值称为中值。 邻域的大小决定在多少个数值中求中值,窗口的大小决定在什么样的几何空间中取元素计算中值。对二维图像,窗口A的选择可以是矩形、圆形及十字形等。它的中心一般位于被处理点上。窗口大小及形状有时对滤波效果影响很大。 MATLAB图像处理工具箱中提供了medifilt2函数用于实现中值滤波,其语法格式为: J=medifilt2(I,[m,n]) J=medifilt2(I,……,PADOPT) 其中,[m,n]为指定滤波器窗口的大小,默认为3×3。PADOPT决定被滤波器图像的边界处理方法。(2)滤波窗口的选择对于二维中值滤波,滤波窗口可以选择不同形式,假设N=5×5,通常有六种方式,如下图所以:
(a) (b) (c)
(d) (e) (f)
图2.1 常用子窗口方式二维信号中,图像的边缘法线的方向是任意的,二维中值滤波器保存边缘消除噪声的特性与子窗口的选择有关。为更全面地保存图像边缘而消除噪声,常用的全方位子窗口选择方法,按22.50角度划分子窗口。
图2.2 全方位子窗口
(3)中值滤波处理步骤a.选择滤波窗口,本文以3×3窗口进行滤波操作。b.对噪声图像边缘部分进行扩展,防止图像边界信息丢失。c.将窗口依次从图像上的每个位置扫描过,计算像素的中间灰度值,并以此灰度代替原图像中的中间位置的像素灰度值。d.所有像素点扫描完毕,滤波结束。其滤波结果如下图2.3所示。(1)带有高斯噪声的图像 (2)中值滤波后图像
(3) 带有乘性噪声的图像 (4)中值滤波后的图像 图2.3 中值滤波前后图图像中值滤波前后的信噪比如表2-1所示。信噪比(SNR) 滤波前(图2.3(1)) 滤波后(图2.3(2)) 19.5855 26.3309 滤波前(图2.3(3)) 滤波后(图2.3(4)) 18.6628 23.7053由中值滤波结果看,滤波后的信噪比有一定的增加,说明图像中的噪声信息有所减弱,但图像整体变得模糊,边界不明显,需要进一步进行增强处理。2.2.2图像的小波分析理论基础小波分析是近十年来才迅速发展起来的新兴学科,它理论深刻但应用非常广泛。由于它的“自适应性”与“数学显微镜”性质而引起许多学科的共同关注。在小波分析被广泛应用之前,傅立叶分析一直是人们进行时间—频率分析的重要工具,但是由于傅立叶变换只能对平稳的信号进行很好的分析,而对于瞬时变信号则几乎无法分析。而小波变换的数学显微镜特性使得其在瞬态信号分析方面有着强大的功能。目前已被国际公认为最新的时间—频率分析工具。(1)小波概念小波就是小区域的波,是一种特殊长度的长度有限、平均值为零的波形[4]。它有两个特点:a.衰减快:在时域都具有紧支集或近似紧支集。b.波动性:由于小波母函数满足可容性条件,刚必有 也即直流分量为零,由此可知小波必具有正负交替的波动性。小波特征与普通波对比如下图2.4所示:
图2.4 小波图形
函数表示: (2-3)
其中 分别为伸缩和平移因子, 必须满足以下的容许条件表明该函数有一定的振荡性。(2)小波的多分辨率分析1988年,Mallat S在构造正交小波基时提出多分辨率分析(Mlti-Resolution Analysis)的概念,从空间概念上形象地说明小波的多分辨率特性,并给出正交小波变换的快速算法,即Mallat算法。Mallat算法在小波分析中的地位相当于快速傅立叶算法在经典傅立叶分析中的地位。Mallat算法多层分析结构如图所示(仅以三层为例)。 图2.5 Mallat算法多层分析结构图中,S为实验数据,Cj和Dj(j=1,2,3)分别是概貌系数和细节系数。多分辨分析只是对低频部分进行进一步的分解,使频率的分辨率越来越高。这种分解具有如下关系:S=C3+D3+D2+D1。Mallat算法的重构(即反变换)过程则是分解过程的逆过程,通过高尺度下的概貌系数Cj-1,k和细节系数Dj-1,k得到Dj,k,然后依次类推进而重构原始信号S,其实现过程框图如图2.6所示。图中向上的箭头及数字2表示二插值。图2.6 Mallat算法的重构图图为一阶小波系数的重构,重构公式表示为式(2-5): (2-5)(3)小波变换正是由于小波变换能够把信号转换成一系列系数,频率不同的系数也不同,因此对转换后过行的系数进行一定的处理,然采用小波信号重构信号,就可以得到所要求的信号。数字图像是一种二维离散信号函数。数图像在获取后往往要根据需要进行各种处理,小波变换可以将图像数据转换到频域中,成为一系列系数,对图像的处理可以变换系数的处理,对系数处理比较简单,图像重构效果较好,因此小波变换在图像处理中得到越来越广泛的应用。图像处理中主要采用离散小波变换(DWT),且一般选用a0=2,t0=1,即二进制小波。图像经过DWT变换之后被分解为四个子图像:低分辨率子图像、水平方向子图像、垂直方向子图像和对角方向子图像低分频率子图像还可以进一步分解,得到相互独立的多级分解层次。各级对应于不同的频段和分频率。正是由于小波变换的多分辨率特性,使得小波变换在图像处理中应用越来越多。2.2.3小波分解分解以及合成过程都是迭代运算,基本原理如下:对原始图像在水平方向和垂直方向与2个滤波器(低通、高通)相卷积,可以得到4块面积为原图像1/4的子图,分别为水平方向低频和垂直方向低频(HH)、水平方向低频和垂直方向高频(HG)、水平方向高频和垂直方向低频(GH)、水平方向高频和垂直方向高频(GG)。HG,GH,GG称为细节子图,HH称为原图像的低分辨率子图,以上只是图像的一级小波分解,对HH再做同样的运算就可以得到图像的二级小波分解,以此类推,还可以得到三级小波分解,四级小波分解……以WOMAN图像为例,对其进行小波分解,过程下如图2.6所示。合成的过程与上述分解过程相反,在此就不便多说了。
医学图像处理系统平台的研究与开发图2.6小波变换前后图2.2.4小波降噪处理 这里我们采用小波变换方法对上述带澡声图像进行处理。由于噪声往往是高频信息,所以在对图像进行小波变换后,与噪声相关的系数处在高频系数区。因此对变换后的小波系数进行低通滤波处理,即高频信号除去,重构后的信号即为降噪后的图像。小波变换进行降噪一般有三种方法:默认阈值消噪处理、给定阈值消噪处理、强制消噪处理。小波分用于图像降噪步骤为:(1)二维图像信号的小波分解,选取合适的小波和恰当的分解层次,对待分析的图像信号进行N层分解计算。(2)对分解后的高频系数进行阈值量化,对分解的每一层,选择一个恰当的阈值,并对该层高频系数进行软阈值量化处理。(3)二维小波重构图像信号,根据小波分解后的第N层近似和经过阈值量化处理后各层细节,来计算二维信号的小波重构。我们采用默认的阈值对带噪声的图像降噪处理,分解层次N=2,选用sym4小波。降噪后的图像如下图所示: (1) 带有高斯噪声的图像 (2)小波降噪后的图像 (3)带有乘性噪声的图像 (4)小波降噪后的图像图2.7小波降噪前后的图像表2-2 经过小波变换降噪处理前后的信噪比。信噪比(SNR) 滤波前(图2.7(1)) 基于小波变换降噪后的图像(图2.7(2)) 19.5855 27.4604 滤波前(图2.7(3)) 基于小波变换降噪后的图像(图2.7(4)) 18.6628 26.40632.3图像处理的结果分析通过比较,从视觉效果看,带噪声的原图像经过滤波后,噪声信息明显减弱,而对采用中值滤波和小波变换进行滤波的结果对比可以看出,基于小波变换降噪后的图像比采用中值平滑滤波降噪图像更加清晰,信噪比高。小波降噪前后的信噪比如表2-2所示。小波降噪前后的信噪比有一定增加,且增加值比中值滤波的增加值要高。说明小波变换降噪效果要比空域中值滤波效果好。2.4本章小结通过MATLAB选择中值滤波窗口,对噪声图像边缘部分进行扩展,将窗口依次从图像上的每个位置扫描过,计算像素的中间灰度值,并以此灰度值代替原图像中的中将位置的像素灰度值,扫描所有像素点完成滤波。对二维图像信号进行小波分解,对分解后的高频系数进行阈值量化,根据小波分解后的第N层近似和经过阈值量化处理后的各层细节,来计算二维信号的小波重构。然后通过计算两种滤波后图像的信噪比,得出基于小波变换的图像降噪方法降噪效果更好。
3、医学图像的分割处理3.1图像边缘检测物体的边缘是以图像局部特性的不连续形式出现的,例如,灰度值的突变,颜色的突变,纹理结构的突变等。从本质上来说,边缘就意味着一个区域的终结和另一个区域的开始。图像的边缘信息在图像分析和人的视觉中十分重要,是图像识别中提取图像特征的一个重要属性。图像的边缘有方向和幅度两个特性。通常边缘走向的像素变化平稳,而垂直于边缘走向的像素变化剧烈。这种变化可能呈现阶跃型、房顶型、凸缘型[5],这种变化分别对应图像中的不同的物理状态。基于边缘检测的基本思想是先检测图像中的边缘点,再按一定策略连接成轮廓,从而构成分割区域。边缘检测有模板匹配、微分法、统计方法和轮廓线拟合等方法。边缘检测的基本算法有Sobel算子、梯度算子、Log算子、Robert算子、Prewitt算子、拉普拉斯算子、高斯偏导滤波器以及Canny边缘检测器等[6]。边缘精度和抗噪性是边缘检测的主要性能指标。两者相互制约,若强调边缘精度,则噪声引起的伪边缘会引起不合理的边界;若注重抗噪性,则会造成边缘漏检和轮廓线的位置偏离。基于边缘检测的分割示意流程图如图3.1所示:
图3.1边缘检测的分割示意流程图3.1.1常用的边缘检测方法(1)微分算子法导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。函数 在某点的方向导数取得最大值的方向是 ,方向导数的最大值 称为梯度模。利用梯度模算子来检测边缘是一种
它不仅位移不变性还具有各向同性。为运算简便,实际中采用梯度模的近似形式如: 等,其它一些常用算子有Roberts算子和Sobel算子。(2)Robrets算子法它是2×2 算子,利用局部差分算子寻找边缘,计算沿45°方向的一阶差分。图像的梯度为两个45°方向的梯度向量和,直接计算图像差分,不包含平滑,故不能抑制噪声,对具有陡峭的低噪声图像响应最好。它是一种利用局部差分算子寻找边缘的算子。 (3-1)其中,f(x,y)是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。(3)Sobel算子法Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的 ,另一个是检测垂直平边沿的 。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。 在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。Sobel算子的矩阵表达式:Sobel1=[-1 -2 -1; %检测水平边沿的Sobel算子 0 0 0; 1 2 1];Sobel2=[-1 0 1; %检测垂直平边沿的Sobel算子 -2 0 2; -1 0 1];(4)Canny算子法Canny边缘检测是一种比较新的边缘检测算子,具有很好的边缘检测性能,得到了越来越广泛的应用。Canny边缘检测法利用高斯函数的一阶微分,能在噪声抑制和边缘检测之间取得较好的平衡[7]。具体算法步骤如下:(1)用高斯滤波器对图像滤波,可以去除图像中的噪声。(2)用高斯算子的一阶微分对图像进行滤波,得到每个像素梯度的大小 和方向 。 (3-2) (3-3) 为滤波后的图像。(3)对梯度进行“非极大抑制”梯度的方向可以被定义为属于4个区之一,各个区用不同的邻近像素来进行比较,以决定局部最大值。这四个区及其相应的比较方向如下图3.2所示:
医学图像处理系统平台的研究与开发 图3.2 四个区和相应的比较方向例如:如果中心像素x的梯度方向属于第四区,刚把x的梯度值与它的左上和右下相邻的像素梯度值比较,看x的梯度值是否是局部极大值。如果不是,就把像素x的灰度置为0,这个过程叫做“非极大抑制”操作。(4)对梯度取两次阈值得到两个阈值T1和T2,T1=0.4×T2。把梯度值小于T1的像素灰度设为0,得到图像a。然后把梯度值小于T2的像素的灰度设为0,得到图像b。由于图像b的阈值较高,去除了大部分噪声,但同时也损失了有用的边缘信息。图像a的阈值较低,保留了较多的信息。可以以图像b 为基础,以图像a为补充来连接图像的边缘。(5)连接边缘,具体步骤如下: ①.对图像b进行扫描,遇到一个非零灰度的像素P时,跟踪以P为开始点的轮廓线,直到该轮廓线的终点Q。 ②.考察图像a中与图像b中Q点位置的对应点Q’的8邻近区域。如果在Q’点的8邻近区域中有非零像素R’存在,则将其包括到图像b中,作为点R。从R开始,重复第①步,直到图像a和b中都无法继续为止。 ③.完成对包含P的轮廓线的连接后,将这条轮廓线标记为已访问。回到第①步。寻找下一条轮廓线,重复以上步骤,直到图像b中找不到新轮廓线为止。下图3.3(1)为原始图像, 图3.3(2),3.3(2),3.3(3)分别是原图像经过3种边缘检测算子处理后的效果图象。(1)原图像 (2)Roberts算子法
(3)Sobel算子法 (4)Canny算子法图3.3几种不同算子的边缘检测图可见使用滤波后的Canny算子法效果更好,勾画出的边缘边续性好。3.1.2几种边缘检测方法的优缺点Roberts算子:Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备一直噪声的能力。Sobel算子:Sobel算子是对图像先做加权平滑处理,然后再做微分运算,所不同的是平滑部分的权值有些差异,因此对噪声具有一定的抑制能力,但不能完全排除检测结果中出现虚假边缘。Canny算子:Canny算子是基于最优化思想推出的边缘检测算子,采用Canny算子进行边缘检测,边缘比较完整,位置比较准确,检测的精确度较高[8]。该算子同样采用高斯函数对图像进行平滑处理,因此具有较强的抑制噪声能力;同样该算子也会将一些高频边缘平滑掉,造成边缘丢失。3.1.3边缘检测结果分析不同算子对图像边缘进行检测时,由于原理不同,所以分割的效果也不一样。因此,应该根据实际的需要来选择算子进行检测。由上面的图可以看出,利用Roberts算子提取边缘的结果边缘较粗,因此边缘定位不是很准确,而Sobel算子对边缘的定位比较准确,这也是Sobel算子得到广泛应用的原因。Canny算子提取的边缘十分完整,而且边缘的连续性很好,效果优于其他算子。这是它进行了“非极大值抑制”和形态学连接操作的结果。3.2图像的分割图像分割的目的是把图像分成一些有意义的区域。例如拿医学图像来说,病区分割很重要。研究图像分割可以逐个的像素为基础,也可以利用规定的领域中的图像信息去分割。图像分割技术在图像工程中占据重要地位,它是计算机视觉和图像理解的基本问题,其分割结果关键性地决定图像处理系统高层模块的性能,如分析、理解和识别等。对于图像中的重要区域,如医学图像中的病灶部位,分割出来后,可以进一步进行计算分析,得到更准确的数据。图像分割实现原理主要有三种:边缘法、区域法和阈值法。图像分割方法很多,但没有哪一个方法适合于所有的图像分割场合。在本文中着重介绍阈值法的应用。最常用的阈值分割是一种利用图像中要提取的目标与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域(目标和背景)的组合,选取一个合适的阈值,以确定图像中每个像素点属于目标区域还是属于背景区域,从而产生对应的二值图像。图像分割可以压缩数据,简化其后的分析与处理步骤,在很多图像处理的系统中都是必不可少的一个环节。阈值分割的基本原理描述如下:目标部分: ;背景部分: ;由此可见从复杂的背景图像中分辨出目标并将其形状完整地提取出来,阈值的选择是阈值分割技术的关键[9],迄今为止还没有一种对所有图像都能有效的分割阈值的选取方法。本节就介绍了这几种常用的阈值选取方法,如直方图阈值分割方法、分水岭分割方法等。3.2.1直方图分割方法在数字图像处理中,一种最简单且最有用的工具就是灰度直方图,它概括了一副图像的灰度级内容。任何一副图像的直方图都包含了可观的信息,某些类型的图像还可由其直方图完全描述,并且直方图的计算非常简单。灰度直方图就是灰度级的像素数n与灰度i的二维关系,它反映了一幅图像上灰度分布统计特性,在MATLAB中使用函数“imhist.m”来实现。双峰法就是其中一种简单的阈值分割方法,即如果灰度直方图呈现明显的双峰状,如下图3.4所示:图3.4 由直方图确定的阈值因此选取双峰之间的谷底所对应的灰度作为阈值分割。需要注意的是,用灰度直方图双峰法来分割图像需要一定的图像先验知识。该方法不适用于直方图双峰差别很大的或者双峰中间谷底比较宽广而平坦的图像,以及单峰直方图的情况。灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数:其横坐标是灰度级,纵坐标是该灰度出现的频率(像素的个数) 。如下图3.5所示图像及其直方图。图3.5 原图与灰度直方图图像由不同特征区域构成,它的直方图呈现多峰值,每个峰值对应一个区域,以谷值点为阈值划分相邻峰值。对目标和背景对比度较强的图像分割效果较好。因此,如果直方图有明显的谷值点,则比较容易选择阈值,谷值点就可以作为灰度阈值而得到合理的物体边界。而实际应用中阈值设定易受噪声和光亮度影响。直方图的缺陷还在于仅仅包含像素点的灰度分布信息,却忽略了其空间特征分布信息。3.2.2分水岭法分割分水岭算法用于图像处理是由S.BeuCher, F .Mayer最早提出的,近年来在灰度图像分割算法的研究中受到重视。该方法本质上是利用图像的区域特性来分割图像的,它可以将边缘检测与区域生长法的优点结合起来,得到单像素宽的、连通的、封闭的及位置准确的轮廓,同时算法是全自动的,不需要任何经验参数来确定终止条稗。分水岭算法是一种较新的基于区域的图像分割方法。该算法的思想来源于洼地积水的过程:设想一个地形表面,如果一滴水滴入这个表面,在重力的作用下,它会沿最陡峭的路径到达极小点。在整个拓扑表面上,沿各自最陡峭路径注入同一个局部极小点或全局极小点的所有点的集合就构成了一个集水盆地(图3.6),而划分相邻集水盆地的地带则成为分水岭。由于分水岭变换把输入图像中的对象与极小点标记相关联,其中的山顶线对应于对象的边界,因此对图像实施分水岭变换可以把图象分割成各个对象区域。图3.6 分水岭示意图假设将二维图像Ax,力看成一个二维地形图,图像的灰度值表示地形的高度,灰度值越小表示地形越低,分水岭算法就是模拟把该地形图侵入水的过程,如果在二维地形图各个凹区的最低处都存在一个小孔,将该地形图匀速侵入水中,水将首先从这些小孔进入各个局部的凹区,随着水的侵入,不同局部凹区的水将汇集到一起。为了防止水的汇集,要在汇集区间建立水坝。最后整个地形图都侵入水的下面,露在水面的只有这些
医学图像处理系统平台的研究与开发水坝,我们称这些水坝为分水岭,它将整个图像分割成不同的区域。①读入原始图像②计算原图像的梯度图③计算原图像的距离变换④标记图像外部约束,标记图像内部约束⑤有标记内外约束重构梯度图⑥实现图像的分水岭法分割 (a) 原始图像 (b) 分水岭法分割图像图3.7 分水岭分割前后图像3.3图像分割结果分析用边缘检测法进行分割后的目标图像,虽然与原目标图像很相近,但是由于噪声等因素的影响,存在较大的误判率,而且获得的边缘是不连续的,必须通过边界跟踪将它们转化为有意义的边缘信息,以便分割出完整的区域。而从迭代式阈值分割和分水岭法分割的效果可以看出,用阈值法对图像分割后,无明显的误判,分割出来的目标图像轮廓鲜明,可以极为方便地确定目标,其分割效果明显优于边缘检测法。3.4目标区域分离法计算图像病灶区域面积医学图像中病灶区域是医生最为关注的地方,病灶区域的大小和位置是医学图像中最为重要的信息。因此病灶区域面积往往是医生想要知道的。在普通胶片上,医生往往是用工具勾绘出病灶部位进行估计,结果很不准确。因此,对病灶面积进行准确计算成为医学图像处理的一项重要要求。当前图像面积计算方法并不多,较多采用的是图像的边缘检测或阈值分割的方法,把待要处理的目标与背景分离,然后对目标像素进行统计,已达到求取目标区域面积的目的。目标像素统计有矢量分析法等,实现起来并不容易。这里提出一种较简单的像素统计方法。一般情况下,病灶部位的灰度和周围背景的灰度往往有比较明显的差别,因此,采用上述的分割方法将病灶部位分割出来,将病灶部位置为相同的灰度值。统计出来像素后计算病灶像素数占图像全部像素数的百分比,再根据全图像的面积,即可计算出病灶区域面积。但是由于实际的医学图像中,背景图像的灰度有些会和病灶区的灰度相近或交叠,这样在分割时背景中的部分像素值也会被置为和病灶区像素值一样。在统计时会产生误差,有时误差会很大。前述的膀胱结石图像分割后,背景图像中右侧和左下侧就有和病灶区一样的像素值,面积甚至比病灶区面积还大,因此需要将这些背景部分像素值剔除。这里采用把病灶区图像单独分离出来,再进行像素数目统计。如图是从分割后的图像中选择结石部分图像,在该部分图像中统计中间黑色区域像素数。图3.8 分离出的病灶区图像在分离出的病灶区图像中,计算出病灶像素数占图像总像素数的百分比,即为病灶区面积占全图像面积的百分比。具体步骤如下:(1) 对图像进行前期处理,去除噪声、增强对比度,再进行图像分割,将图像中病灶部位的像素值和背景的像素值区分开来,将图像转化为二值图像。(2) 采用任意形状图像选择方法,附带一些背景图像。(3) 将选中的病灶图像分离出来,作为一幅独立的图像单独处理,如上图所示,设计循环程序统计病灶区域像素个数Np。(4) 根据统计出的像素个数,计算与总像素数N的百分比R。 ×100% (3-4)(5) 计算全图像面积A,由全图像面积计算病灶区面积Ap。 Ap=A×R (3-5)按照上述步骤,计算结果如下:总像素数: N=65536病灶区像素数:Np=320病灶区像素占总像素数的百分比:R=Np/N=0.4882812%全图像面积(由已知长35cm和宽43cm):A=35×43=1505 病灶区面积: Ap=A×R=7.34863 此种像素数目统计方法简单易行,计算容易,结果准确,只要原图像的面积能准确计算出,则病灶部位面积也可以准确计算出来。但是此种方法适合于病灶区域和背景区别比较明显的图像,如果被测区域分散,和背景交叉很多,则分离时比较麻烦,需要多次分离剔除背景像素数。由于多数医学图像的病灶区域集中且和背景有较明显的灰度差别,因此采用这种像素统计计算面积方法是可行的。3.5本章小结本章运用Roberts算子、Sobel算子、Canny算子对原始图像进行边缘检测,并用直方图法和分水岭法对图像进行分割,通过实例比较了边缘检测法和阈值分割法的效果,根据不同的检测结果及提取边缘的连续性和准确性,认为阈值法提取的边缘十分完整,而且边缘的连续性很好,分割效果更好。最后根据分割结果运用目标区域分离法统计病灶区域像素,计算出医学图像病灶区域面积。4、医学图像的压缩方法4.1医学图像压缩的出发点与基本模型近年来,随着计算机技术与通信技术的发展,图像文件越来越大、传输的要求越来越高。这就需要对图像进行压缩处理,从本质上来讲,就是对要处理的图像源数据用一定的规则进行变换和组合,从而达到尽可能少的代码来表示尽可能多的数据信息的目的。压缩通过编码来实现,或者说编码带来压缩的效果。所以,一般把此项处理叫压缩编码。图像压缩技术在医学图像处理中占据着非常重要的地位。医学图像有其特殊性,错误描述的代价非常高,必须提供一种高质量的压缩方法。因此,医学图像里的无损压缩技术一直是备受人们关注的焦点,与常规图像相比,医学图像是具有纹理较多,分辨率较低,相关性较大的图像,对其进行压缩是很困难的。目前,对医学图像的压缩还没有非常好的算法,常用的算法对医学图像的处理还不尽如人意,因此,医学图像的压缩存储是各类医院迫切需要解决的问题。4.1.1医学图像压缩的出发点在临床诊断中医学影像的作用已经愈来愈显得重要, 不断出现与完善的医学成像技术更加突出了医学影像在未来临床诊断中的重要性。同时, 通过数字化装置及数字成像系统, 数字医学影像已经变得很普遍, 由此, 在医学影像的存取、管理、传输、处理及定量评价上都带来极大的便利。然而, 医学影像的数量及增长速度是十分惊人的, 以美国的情况为例,每年取得的放射图片的数量在petabyte 数量级, 即 。随着IMCS (图像管理与通讯系统)、PACS ( 图像存取与通讯系统) 与Telem edicine (远程医疗技术) 的到来, 如此巨量的数字医学影像在传输与存储上均构成十分严重的问题, 为此, 数字医学影像的压缩方法受到了广泛的研究。4.1.2医学图像压缩的基本模型图像数据压缩的技术始于信息论。20世纪80年代前,研究的主要内容是有关信息熵、编码方法、数据压缩比,即通过某种方法,对源图像数据进行编码,使编码后的数据流长度小于源数据流的长度,从而减少存储空间和提高信息传输速度的目的。典型的图像压缩系统主要由三个部分组成:变换部分、量化部分、编码部分[10]。实现医学图像压缩系统的大体模型如下图4.1所示。图4.1 图像压缩基本模型
从信息观点上看,描述图像信源是由有效信息和冗余量两部分组成的。去除冗余量能够节省存储空间和传输中的开销,同时又不损坏图像信息源的有效信息量。在有些场合,一定限度的失真是允许的。如,人的眼睛对图像灰度分辨的局限性,监视器显示分辨率的限制,并不妨碍图像的实际应用,都可以对图像信息的作一定程度甚至很大程度的压缩。4.2图像压缩编码目前,医学成像技术的应用已越来越普及。成像设备产生了大量的医学数字图像,但由于医学图像有其不同于一般图像的特点,如分辨率高、量化级多等,因而医学图像数据量较大,从而给存储和传输带来了极大的困难,随着远程诊断手段和医疗信息自动化的开展,这个困难将越来越突出。因此,医学图像压缩编码是医疗信息学一个重要的研究方向。编码压缩方法有很多种,从不同的角度出发有不同的方法,从信息论角度出发可分为两在类。(1)冗余压缩方法,也称无损压缩。具体说就是解码图像和压缩前图像严格相同,没有失真,从数学上讲这是一种可逆运算。(2)信息量压缩方法,也称有损压缩。也就是说解码图像和原始图像是有差别的,允许有一定的失真。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类。①无损压缩编码种类。 ◆哈夫曼编码 ◆算术编码 ◆行程编码 ◆Lempel zev编码②有损压缩编码种。 ◆预测编码:DPCM,运动补偿◆频率域方法:正交变换编码(如DCT),子带编码◆空间域方法:统计分编码③混合编码。有JBIG,H261,JPEG,MPEG等技术标准。衡量一个压缩编码方法优劣的重要指标是。a:压缩比要高,有几倍,几十倍,也有几百至几千倍。b:压缩与解压缩要快,算法要简单,硬件要容易实现。c:解压缩的图像质量要好。选用编码方法时一定要考虑图像信息源本身的统计特征,多媒体系统(硬件或软件产品)的适应能力,应用环境以及技术标准。下面我们用频率域方法中的余弦离散变换(DCT)来研究它在图像处理中的应用。4.3余弦离散变换(DCT)任何连续的实对称函数的傅立叶变换中只含余弦项,因此余弦变换与傅立叶变换一样,具有明确的物理意义。通常对一幅图像的离散余弦变换其重要的可视信息集中在几个系数上。正是这种性质,离散余弦变换经常用于图像的压缩。4.3.1余弦离散变换原理M×N矩阵A的二维DCT定义如下:
医学图像处理系统平台的研究与开发数值 被称为矩阵A的DCT系数。DCT逆变换公式为: (4-3)( , )这种逆DCT变换可以这样解释:任何一个M×N的矩阵A均可表示为MN个具有如下形式的函数的和: (4-4) ( , )这些函数被称为DCT的基函数, 称为DCT系数。 视为每个基函数的加权系数[11]。4.3.2DCT应用于图像压缩DCT是先将整体图像分成M×N像素块,然后对M×N块像素逐一进行DCT变换。由于大多数图像的高频分量较少,相应于图像高频成分的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可用更粗的量化,因此传送变换系数所用的数码率要大大小于传送图像像素所用的数码率。到达接收端后再通过反离散余弦变换回到样值,虽然会有一定的失真,但人眼是可以接受的。N代表像素值,一般N=8, 8×8的二维数据块经过DCT后变成8×8个变换系数,这些系数都有明确的物理意义:U代表水平像素号,V代表垂直像素号。如当U=0,V=0时,F(0,0)是原64个样值的平均,相当于直流分量,随着U、V值的增加,相应的系数分别代表逐步增加的水平空间频率和垂直空间频率分量的大小。在JPEG图像压缩算法中,输入图像被分成8×8或16×16的小块,然后对每一个小块进行二维DCT变换,变换后系数量化、编码并传输,JPEG文件解码量化了的DCT系数,对每一块计算二维DCT变换,最后把结果块拼成一个完整的图像。在DCT变换后舍弃那些严重影响图像重构接近0的系数。如下面程序所示:I = imread('原图像 ');I = im2double(I);%图像存储类型转换T = dctmtx(8);%离散余弦变换矩阵B = blkproc(I,[8 8],'P1*x*P2',T,T');mask = [1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];B2 = blkproc(B,[8 8],'P1.*x',mask);I2 = blkproc(B2,[8 8],'P1*x*P2',T',T);imshow(I)title('原始图像');figure;imshow(I2)title('压缩后的图像');运行程序后得到:Name Size Bytes ClassI 311x253 78683 uint8 arrayGrand total is 78683 elements using 78683 bytesName Size Bytes ClassI2 256x256 524288 double arrayGrand total is 65536 elements using 524288 bytes4.4DCT算法压缩图像结果的分析 图4.2 DCT压缩前后的图像压缩后的数据及图像如上述所示,这当然不能完全反映构后图像的质量,因为需要用到信噪比去反映整个图像的失真程度。4.5小波变换压缩将小波分析引入图像压缩的范畴也是一个重要的手段,并且有着它自己的特点。小波变换压缩的特点在于压缩比高、压缩速度快,压缩后能保持信号与原图像的特征基本不变,且在传输过程中可以防干扰等等。一个图像作小波分解后(见本文第2章内容),可得到一系列不同分辨率的子图像,不同分辨率的子图像对应不的频率是不相同的。高分辨率子图像上大部分点的数值都接近于0,分辨率越高越明显。而对于一个图像来说,表现图像最主要的部分是低频部分,所以最简单的压缩方法是利用小波分解去掉图像的高频部分只保留低频部分。下面程序实现了小波变换压缩。clearX=imread('原图像'); %装入图像X=rgb2gray(X);%将图像转为灰度图像subplot(221);imshow(X); %显示图像title('原始图像');axis squaredisp('压缩前图像X的大小');whos('X')[c,s]=wavedec2(X,2,'bior3.7'); %对图像用小波进行层分解cal=appcoef2(c,s,'bior3.7',1); %提取小波分解结构中的一层的低频系数和高频系数ch1=detcoef2('h',c,s,1); %水平方向cv1=detcoef2('v',c,s,1); %垂直方向cd1=detcoef2('d',c,s,1); %斜线方向a1=wrcoef2('a',c,s,'bior3.7',1);h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s,'bior3.7',1);c1=[a1,h1;v1,d1]; %各频率成份重构subplot(222);image(c1);axis square; %显示分频信息title ('分解后低频和高频信息');%进行图像压缩%保留小波分解第一层低频信息%首先对第一层信息进行量化编码ca1=appcoef2(c,s,'bior3.7',1);ca1=wcodemat(ca1,440,'mat',0);ca1=0.5*ca1;subplot(223);image(ca1);axis square;title('第一次压缩图像');disp('第一次压缩图像的大小为:');whos('ca1')ca2=appcoef2(c,s,'bior3.7',2);ca2=wcodemat(ca2,440,'mat',0); %保留小波分解第二层低频信息进行压缩ca2=0.25*ca2; %首先对第二层信息进行量化编码subplot(224);image(ca2);axis square;title('第二次压缩图像');disp('第二次压缩图像的大小为: ');whos('ca2')运行上述程序,得到如下图 图4.3 小波变换压缩前后的图像压缩前图像X的大小: Name Size Bytes ClassX 311x253 78683 uint8 arrayGrand total is 78683 elements using 78683 bytes第一次压缩图像的大小为: Name Size Bytes Class ca1 163x134 174736 double arrayGrand total is 21842 elements using 174736 bytes第二次压缩图像的大小为: Name Size Bytes Class ca2 89x74 52688 double arrayGrand total is 6586 elements using 52688 bytes可以看得出,第一次压缩时我们提取的原始图像中小波第一层的低频信息,此时压缩效果较好,压缩比较小(约为1/3) 。第二次压缩时提取第一层分解低频部分的低频部分进行再压缩,其压缩比较大(1/12) ,压缩效果在视觉上也基本过得去。保留原始图像中低频信息的压缩办法只是一种最简单的压缩办法。它不需要经其他处理即可获得较好的压缩效果。4.6本章小结本章首先讲述了图像压缩的出发点,说明图像压缩在医学图像处理中的必要性。然而,医学图像的压缩的方法选取也是至关重要的,通过将图像压缩编码,如采用余弦离散变换(DCT)、小波变换压缩,这样就可以减少图像的数据量,更容易于存储,处理和传输。有大量的图像作为依据,医生就可以随时对病人作出准确的诊断。从上面论术可以知道DCT本身不是用来压缩的,只是把数据组织得便于压缩而已,特别是用于有损压缩。DCT变换后的数据如果不经量化,再反变换后是可以无损还原的。简而言之,DCT变换后的数据,左上角的非常重要,要精确存储,右下角的可以粗略存储,甚至扔掉也没关系。小波变换能够很好地消除图像数据中的统计冗余,对图像压缩比较好,而且图像重构输出质量非常高。因此可以说,小波变换编码是一种比较好的压缩编码技术。从理论上讲,小波变换压缩可以获取任意压缩比的压缩图像。只不过对压缩比和图像质量都有较高的要求时,它的效果就不如其它编码方法了。很好的低码率压缩效率,传统的JPEG使用DCT,需将图像分块,限制了图像的压缩倍数;而小波是基于整幅图像处理,可实现高压缩比,避免了“分块”效应。医生应根据实际情况来选取不同的压缩方法,这样就可以应对不同的情况。
医学图像处理系统平台的研究与开发医学图像处理平台的设计与实现MATLAB是由MathWork公司开发的一种主要用于数值计算及可视化图形图像处理的工程语言。它数值分析、矩阵计算、图形图像处理、信号处理和仿真等诸多强大的功能集成在较易使用的交互式计算机环境之中,为科学研究、工程应用提供了一种功能强大、效率高的编程工具。5.1基于MATLAB的系统平台总体设计5.1.1MATLAB简介MATLAB是美国的Math Works 公司推出的一个科技应用软件,主要是面向科学计算, 可视化以及交互式程序设计的高技术计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境之中, 为科学研究、工程设计以及必须进行有效数值计算的众多学科领域提供了一种简捷、高效的编程工具。借助于这种编程环境, 任何复杂计算问题及其解的描述均十分符合人们的逻辑思维方式和数学表达习惯, 并在很大程度上摆脱了传统非交互式程序设计语言(如C、For2tran) 的编程模式,为自然科学和工程设计诸多领域。MATLAB强大的功能越来越被人们所接受,而且应用领域也在不断地扩大。MATLAB产品主要应用领域为:● 仿真和建模● 实时仿真● 自动控制● 信号处理与通信● 数据分析与科学计算● 算法开发● 图像处理● 独立应用与开发● 其他领域5.1.2MATLAB在图像处理中的应用图像处理中往往把数字化的二维图像作为二维矩阵来研究,基于矩阵运算MATLAB可以很自然地扩展到图像处理应用领域。MATLAB7中推出了功能更强大的适应于图像处理的工具箱,常用的有图像处理工具箱、小波工具箱及数字信号处理工具箱。利用如此多的工具,我们可以方便地从各个方面对图像的性质进行深入的研究.图像处理工具箱几乎包括了经典图像处理的所有方面,从基本的图像增强到图像分割,MATLAB都提供了简便的函数调用来实现许多经典图像处理方法,同时,MATLAB还提供了对多种图像文件格式(如tif, bmp, jpg, pcx等)读写和显示的支持,这使得MATLAB的集成环境中进行图像处理的实验模拟非常方便。下面就MATLAB在图像处理中各方面的应用分别进行介绍。(1)图像处理的基本类型与运算MATLAB中图像的最基本的数据结构是数组。在MATLAB中大多数图像用二维数组double(64位)浮点型、或uint(8位无符号整数) 、uint16(16位无符号整数)存储的,以减少图你的储存量。MATLAB支持五种图像类型(索引图像、灰度图像、二值图像、RGB图像和多帧图像) 。MATLAB也提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。例如,covZ(a,b)实现a,b两幅图像的卷积。(2)图像的时域分析这里包括了图像统计特征的计算;图像增强工具,包括Gamma较正、直方图均衡、中值滤波、自适应滤波等:边缘检测算子,如log算子、canny算子、sobel算子、prewltt算子等。例如:imhist (a )显示图像a的直方图;B=edge (a,’log’,[],1)计算 =1时图像a的log算子边缘;imshow (B)显示图像B。也如,图像的边缘检测,有具体的两条标准:a.灰度值的导数的绝对值是否大于给定的的阈值;b.二阶导数是否为0(zero crossing) 。Edge函数的调用格式;BW=edge(I,method,thresh)这里I是输入的灰度图像,BW返回的是与I相同大小的二值图像,I表示边缘,0表示其他。Edge函数支持6种寻找边缘的方法,分别是Sobel方法、Roberts方法等。(3)图像的变换域处理MATLAB提供了一维和二维离散傅立叶变换(DFT),快速傅立叶变换(FFT),离散余弦变换(DCT),及其反变换函数:以及连续小波变换(CWT),离散小波变换(DWT)及反变换函数[12]。例如,B=dct(a); C=idct(b);这两条语句实现了图像矩阵a的离散余弦变换及反变换.(4)图像的数学函数处理MATLAB在图像处理中的应用都是由相应的MATLAB函数来实现,使用时只需按照函数的调用语法正确输入参数即可,具体的用法可参考MATLAB丰富的帮助文档。对于MATLAB内部函数不能实现的问题,需要另外编程或修改有关的内部函数。5.2图形用户界面(GUI)图形用户界面(GUI)是提供人机交互的工具和方法。GUI是图形对像—GUI控件,如:按钮、文本、滑块和菜单等组成的用户界面[13]。一个设计优秀的GUI界面能够非常直观地让用户知道如何操作MATLAB界面。如:只要简单移动一下滑块,一个变量的值就能够随着发生变化;当点击OK按钮时,我们的设置得到应用并且对话框关闭。更令人兴奋的是.绝大多数使用GUI的计算机用户都知道如何应用GUI的标准控件。这也为GUI设计提供了广阔的前景。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,更有益于MATLAB程序的GUI集成。为一般用户提供了极大的方便。通过用户与底层的程序代码建界面,用户可以不了解程序命令行而去操作应用程序。因此,应用程序比直接运行命令更容易学习和使用。特别是使用MATLAB计算软件的绝大用户,并不关心GUI的开发,而重点关注于MATLAB巨大的数值计算、工程分析等。但是开发者拥有了工程开发成果时,面向的不是自己,而是客户(使用者),很不幸的是,客户对MATLAB一无所知或根本不想去了解那么多令人费解的代码,这时GUI设计显得特别重要。GUI成为高质量的程序与其用户交流的平台。本章将介绍如何使用MATLAB的图形用户界面(GUI)技术设计医学图像处理平台界面。基于这个系统平台,用户可以对不同的医学图像进行降噪、边缘检测、分割算法、编码压缩等处理。这样用户可以看出每种算法的处理的效果,以便于分析比较。除此之外,因为MATLAB强大的图形图像处理能力,所以演示出的的分割图像非常清晰,效果很不错。命令窗口不是唯一与MATLAB的交互方式。生成用户图形界面的最常见的理由:(1)编写一个需多次反复使用的实用函数,菜单、按钮、文本框作为输入方法具有意义;(2)编写函数或开发应用程序供别人使用;(3)创建一个过程、技术或分析方法的交互式示例;(4)认为GUI的简洁,性能良好,并且想实践一下。假定想实现一个M文件,首先确定是否要编写脚本文件或函数文件。5.3系统图形界面介绍基于MATLAB仿真的图像处理显示了此系统模拟仿真的一大特色。用户可以在页面上对不同的图形进行降噪、边缘检测、分割处理(比如bmp,jpg,tif等)和压缩处理,另外用户还可以对同一个图像选择不同的降噪方法、边缘检测算子、分割算法,这样用户可以看出每种算法处理图像的效果,以便于比较和分析。除此之外,因为MATLAB强大的图形图像处理能力,所以演示出来的的分割图像非常的清晰,效果也不错的。5.3.1GUI界面布局设计进入GUI设计界面有多种方法,在MATLAB工作间键入guide命令,也可以从file\new\gui。界面如下图5.1所示。 图5.1 开始GUI设计模板界面
Creat new GUI包含了四种变化的设计模块界面:Blank GUI(Default)创建一个新的空白GUI;GUI with Uicontrols 创建一个有控件组件的GUI; GUI with Axes and Menu 创建一个带有轴对象和菜单的GUI;Model Question Dialog 创建一个对话框。Open Existing GUI 打开以前的GUI设计来编辑。打开一个任意的gui,出现以下界面,如下图5.2所示。图5.2 版面设计工具
本系统设计步骤如下:
图5.3 系统GUI设计步骤不过在GUI设计程序前,首先要考虑设计对象的结构和开发流程。开发前的思考、开发前的文档编辑对于理清编程者的思路、提高开发效率有十分重要的作用。不同的要求设计出来的GUI也千差万别。一个优秀的界面基本上符合下面的标准:易用性、统一性、规范性和合理性。5.3.2GUI各功能模块的设计实验界面分为三个功能区:添加噪声区域,图像处理方法区域,病灶区域面积计算区域。(1)添加噪声区域首先在FIG编辑界面建立下拉菜单,然后在M-FILE Editor中使用switch…case格式编写该菜单的CALLBACK程序。调用程序如下:switch imnoise_type case { 1 } %加入噪声 im_noised = gaussian_bai(im_original); %加入高斯白噪声 case { 2 } im_noised = speckle(uint8(im_original));%加入乘性噪声 case { 3 } im_noised=default(im_original);%原始图像 end(2)图像处理方法区域图像处理方法区域包括的方法有图像降噪方法(中值滤波和小波变换降噪)、图像边缘检测方法(canny算子法等)和图像分割方法(迭代式阈值法和分水岭法)。该区域的CALLBACK同样用到了switch…case语句。调用程序如下:switch method_number case {1} im_filtered = medfilter(im_noised); case {2} im_filtered = waveletquzao(im_noised); case {3} im_filtered = roberts(im_original); case {4} im_filtered = sobel(im_original);case {5} im_filtered = canny(im_original); case{6} im_filtered=zhifangtu(im_original);case {7} im_filtered=fenshuiling(im_original);end (3)病灶区域面积计算区域病灶区域面积计算采用目标区域分离法,通过统计病灶区域的像素来计算面积。统计像素的程序如下:g=imread('图像名称');b=im2bw(g);n=0;N=0;nk=zeros(2,1);%出现次数[row,col]=size(b);for i = 1:rowfor j = 1:colnum = double(b(i,j))+1; %获取像素点灰度级nk(num) = nk(num)+1;%统计nkendend%结果for i=1:1n=n+nk(i);%病灶区域像素endfor i=1:2N=N+nk(i);%总像素
医学图像处理系统endm=(n/N)*35*43;(4)实验平台操作过程点击界面的图像载入按钮,可以选择电脑上的任一张医学图像,显示在第一个窗口中。进一步对该图像作添加噪声处理,处理后的图像在第二个窗口显示。要对第二个窗口的图像进行下一步的处理,就可以点击应用按钮,处理过的图像在第三个窗口显示,最后可以计算出病灶区的面积,点击保存按钮可以保压缩过后的图像,然后退出。操作平台如下图5.4所示。
图5.4 系统平台界面5.4本章小结在本章中我设计出了一个GUI界面,在这个系统中,使用MATLAB语言,简单,方便的界面实现了医学图像的基本处理。基本上包括对医学图像的多种降噪处理、边缘检测和分割方法对图像进行处理,并且在此系统中演示了各种算法对图像的效果。6、总结与展望经过几个月的应用实践和探索,本设计在利用MATLAB进行医学图像处理,改善医学图像质量并对医学图像进行降噪、边缘检测、分割以及计算病灶区域面积以及图像的压缩方面取得了一定的进展,达到了预期的研究目的。6.1主要研究成果本课题以医学图像处理为重点,通过实例研究了图像降噪、图像分割与边缘检测的处理方法,总结各种图像处理算法的优缺点,并对分割后图像进行局部面积计算,然后探讨了图像的压缩算法。具体完成的工作如下: (1)采用空域中值滤波对医学图像进行降噪处理,同时还应用小波变换对医学图像进行降噪处理,并对两种方法的处理结果分析比较。认为基于小波变换的图像降噪效果较好。(2)利用多种边缘检测算子法和阈值法对图像进行边缘检测和分割处理,并通过检测和分割出的图像分析各种算法的优劣,并对图像分割和边缘检测处理后的图像采用目标区域分离法计算出病灶部位面积。(3)采用DCT变换和小波变换压缩对图像进行压缩,通过分析图像的压缩比来确定两种方法的异同点,针对实际情况来使用哪一种方法。(4)应用MATLAB语言设计出一个方便友好的图形界面,将多种图像处理方法与图像显示于一体,方便了用户的操作。综合看来,医学图像处理系统在医学诊断中起到越来越重要的作用,本文的研究取得了一定的成果,既提高了图像质量,又提高了图像处理速度,可以为医院提供更好的诊断图像。在本文研究的基础上,需要进一步研究的内容有:对图像处理方法进行优化改进,尽可能地提高方法的执行速度。另外,本文的方法只能应用于灰度图像,而彩色医学图像目前己被广泛应用,所以应该考虑将本文的方法应用于彩色图像处理。6.2展望现在医学图像处理是一个热门课题,虽然对医学图像降噪、边缘检测、图像分割以及图像压缩有很多方法,但医学图像的形式是很多的,我只是针对某一类型的图像进行处理,为使处理后的图像更加完善,下一步需要将多种方法综合应用,例如小波与传统降噪方法相结合,多种分割方法相结合等。医学图像处理是数字图像处理的一个极具特色的应用领域,是当代图像处理领域的前沿课题。我今后在这一方面将做更加深入的研究。参考文献[1]孙即祥.图像处理[M].北京:科学出版社,2004.108-150[2]张兆礼,赵春晖,梅晓丹.现代图像处理技术及Matlab实现[M].北京:人民邮电出版社,2001.161-201[3]郝文化.MATLAB图形图像处理应用教程[M].北京:中国水利水电出版社,2003.102-111[4]周伟.MATLAB小波分析高级技术[M].西安:西安电子科技大学出版社,2005.12-110[5]王家文,曹宇.MATLAB6.5图形图象处理[M].北京:国防工业出版社,2004.326-338[6]夏德深,傅德胜.现代图像处理技术与应用[M].北京:东南大学出版社,2001.201-226[7]孙兆林.MATLAB6.x图像处理[M].北京:清华大学出版社,2002.240-247[8]景晓军.图像处理技术及其应用[M].北京:国防工业出版社,2005.74-190[9]姚敏等.数字图像处理[M].北京:机械工业出版社,2006.225-250 [10]Rafael C. Gonzalez. Digital Image Processing Second Edition[M].BEIJING:Publishing House of Electronics Industry,2002.326-416[11]王正洪.MATLAB语言及在电子信息工程中的应用[M].北京:清华大学出版社,2004.244-247[12]TAMAL BOSE. Digital Signal and Image Processing[M].BEIJING:Higher Education Press,2004.128-230[13]张瑞丰.精通MATLAB6.5[M].北京:中国水利水电出版社,2004.321-374致 谢经过几个月的努力,论文之所以能够如期地完成,是因为得到了刘老师的悉心指导和关怀。刘老师在学习上给予我极大的关心和帮助。同时,刘老师严谨的治学态度,热于助人的品格,以及对事业孜孜不倦的追求精神,更是令我受益非浅,终生难忘。在毕业设计的长期过程中,从论文的选题、相关资料的收集、项目的设计与实现到论文的最终定稿,无不凝聚着刘老师的心血。在此论文完成之际,我要衷心地感谢刘老师,感谢她为我所做的一切。感谢江苏工业学院的领导和计算机科学与工程系的各位老师为本课题的完成提供了良好的实验和学习环境。在本文的工作期间,也多得于我的同学们的帮助,在此一并表示感谢!
医学图像处理系统平台的研究与开发1.中值滤波程序i=imread('图像名称');j=imnoise(i,'salt & pepper',0.02);k=medfilt2(j);subplot(221);imshow(i);title('原始图像');subplot(222);imshow(j);title('含噪声图像');subplot(223);imshow(k);title('中值滤波图像');2.小波降噪程序X1=imread('图像名称');%画出原始图象x=im2double(X1);imshow(x);title('原始图象');%用小波函数sym4对x进行2层小波分解[c,s]=wavedec2(x,2,'sym4');%提取小波分解中第一层的底频图象,即实现了低通滤波消噪a1=wrcoef2('a',c,s,'sym4',1);%画出消噪后的图象figure;imshow(a1);title('第一次消噪图象');%提取小波分解中第二层的低频图象,相当于再一次的低频滤波处理a2=wrcoef2('a',c,s,'sym4',2);%画出消噪后的图象figure;imshow(a2);title('第二次消噪图象');3.Roberts算子边缘检测程序f=imread('图像名称');subplot(121);imshow(f);title('原始图像');g=edge(f,'roberts');subplot(122);imshow(g);title('roberts算子检测图像');4.Canny算子边缘检测程序f=imread('图像名称');subplot(121);imshow(f);title('原始图像');g=edge(f,'canny');subplot(122);imshow(g);title('canny算子检测图像');5.分水岭法分割程序f=imread('图像名称');subplot(221);imshow(f);%计算梯度图f=double(f);hv=fspecial('prewitt');hh=hv.';gv=abs(imfilter(f,hv,'replicate'));gh=abs(imfilter(f,hh,'replicate'));g=sqrt(gv.^2+gh.^2);%计算距离函数df=bwdist(f);www.lwfree.cnim=imextendedmax(f,80);%重构梯度图g2=imimposemin(g,im|em);%watershed算法分割L2=watershed(g2);wr2=L2==0;subplot(222);f(wr2)=255;imshow(uint8(f));6.计算信噪比程序oimg=imread('原始图.jpg');oimg=double(oimg)/256;img=imread('噪声图像.jpg');img=double(img)/256;%PSNRsnr1=-10*log10(mean2((img-oimg).*(img-oimg))/(max(max(oimg))^2));7.计算病灶区域面积程序g=imread('图像名称');b=im2bw(g);n=0;N=0;nk=zeros(2,1);%出现次数[row,col]=size(b);for i = 1:rowfor j = 1:colnum = double(b(i,j))+1; %获取像素点灰度级nk(num) = nk(num)+1;%统计nkendend%结果for i=1:1n=n+nk(i);%病灶区域像素endfor i=1:2N=N+nk(i);%总像素endm=(n/N)*35*43;