snake图像分割
医学图像的分割技术及其新进展

医学图像的分割技术及其新进展3楚存坤,李月卿,王昌元(泰山医学院,山东泰安 271000)关键词:医学图像分割;图像分割评价中图分类号:R319 文献标识码:A 文章编号:100427115(2007)0420315203 近几年,计算机断层成像(Computed T omo2 graphy,CT),核磁共振成像(Magnetic Res onance I m2 age,MR I),超声成像(ultras ound i m age,USI)等医学成像技术已经广泛应用在医疗的诊断、术前计划、术后监测等各个环节中,其目的是全面而精确地获得病人的各种数据,为诊断、治疗计划、手术和术后评估提供正确的数字信息。
只有把感兴趣的目标从图像的复杂景物中提取出来,才有可能进一步对它们进行定量分析或者识别。
目前,医学图像分割主要以各种细胞、组织与器官的图像来作为处理的对象或内容。
图像分割是根据某种均匀性或一致性原则将图像分成若干个有意义的部分,使得每一部分都符合某种一致性的要求[1]。
1 医学图像分割技术的发展111 传统图像处理领域中的医学图像分割技术11111 基于阈值的方法阈值分割法是将灰度图像变为二值图像以达到分割目的的方法,它是一种PR(并行区域)法。
阈值法的过程是决定一个灰度值,用以区分不同的类,这个灰度值就叫做“阈值”。
把灰度值大于阈值的所有像素归为一类,小于阈值的所有像素归为另一类。
阈值法是一种简单但是非常有效的方法,特别是不同物体或结构之间有很大的强度对比时,能够得到很好的效果。
此分割法通常是交互式的。
因为阈值法能够实现实时操作,所以它更能够建立在用户视觉估计的基础上。
阈值法一般可以作为一系列图像处理过程的第一步。
其主要局限是,最简单形式的阈值法只能产生二值图像来区分两个不同的类。
另外,它只考虑像素本身的值[2],一般都不考虑图像的空间特性,这样就对噪声很敏感。
针对它的不足,有许多经典阈值法的更新算法被提了出来[3,4]。
基于改进的Snake模型分割肝脏的CT图像

基于改进的Snake模型分割肝脏的CT图像
李玲;殷海
【期刊名称】《中国医疗设备》
【年(卷),期】2010(025)002
【摘要】Snake(主动轮廓线)模型,具有良好的获取特定区域内目标边缘的能力,是一种极为有效的图像分割方法,利用围绕目标心形的圆环内平均灰度差异来确定初始轮廓点,对噪声的干扰有一定的抑制作用,并减少了人工选取的工作量,将离散Snake算法与分段DP算法有效结合来获取肝脏CT图像的特征边缘点,以提高Snake算法的收敛速度.最后利用单调性原则对肝脏CT图像的边缘点进行分区,在各个单调区间内采用曲线拟合的方法来获得连续的肝脏CT图像边缘,最后用Roipoly函数,由这些坐标显示原输入图像,得到BW的二值图像,最终可以显示完整的CT值没有改变的肝脏图像.
【总页数】3页(P19-20,18)
【作者】李玲;殷海
【作者单位】咸宁学院,生物医学工程学院,湖北,咸宁,437100;咸宁学院,生物医学工程学院,湖北,咸宁,437100
【正文语种】中文
【中图分类】R319
【相关文献】
1.改进的B-Snake模型肝脏CT图像分割算法 [J], 王杰雄;陈国栋;陈怡
2.基于改进CV模型的腹部CT图像肝脏肿瘤分割 [J], 赵彦南;曾业战
3.基于双Snake模型的颅骨CT图像分割方法及应用 [J], 候志鹏;胡晓彤
4.基于形变模型分割方法的CT图像肝脏肿瘤分割 [J], 肖海慧
5.一种基于Snake模型的脑部CT图像分割新算法 [J], 徐艳; 胡顺波; 王基烽; 杜玉越
因版权原因,仅展示原文概要,查看原文内容请购买。
图像分割方法概述

(1) 灰度阈值分割法
是一种最常用的并行区域技术, 它是图像分割中应用数量最多的一类。 阈值分割方法实 [6] 际上是输入图像f到输出图像g的如下变换 : g i, j = 1 ������(������, ������) ≥ ������ 0 ������(������, ������) < ������
(2)区域分裂合并 区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标提取。分裂 合并差不多是区域生长的逆过程:从整个图像出发,不断分裂得到各个子区域,然后再把前 景区域合并,实现目标提取。分裂合并的假设是对于一幅图像,前景区域由一些相互连通的 像素组成的, 因此, 如果把一幅图像分裂到像素级, 那么就可以判定该像素是否为前景像素。 当所有像素点或者子区域完成判断以后, 把前景区域或者像素合并就可得到前景目标。 在这 类方法中, 最常用的方法是四叉树分解法。 设R代表整个正方形图像区域, P代表逻辑谓词。 基本分裂合并算法步骤如下: ① 对任一个区域,如果H(Ri)=FALSE就将其分裂成不重叠的四等份; ② 对相邻的两个区域Ri和Rj,它们也可以大小不同(即不在同一层),如果条件H(Ri∪ Rj)=TRUE满足,就将它们合并起来。 ③ 如果进一步的分裂或合并都不可能,则结束。 分裂合并法的关键是分裂合并准则的设计。这种方法对复杂图像的分割效果较好,但算 法较复杂,计算量大,分裂还可能破坏区域的边界。 基于形变模型的方法 基于形变模型的方法是目前应用较多的分割方法。 从物理学角度, 可将形变模型看成是 一个在施加外力和内部约束条件下自然反应的弹性物体。 在血液图像分割中, 主要应用活动 轮廓模型,又称 Snake 模型,是轮廓曲线在外能和内能的作用下向物体边缘靠近,外力推动 轮廓运动,而内力保持轮廓的光滑性。[7]
医学图像分割方法综述

原理: 分裂合并的思想将图像先看成一个区域,然后区域不断被 分裂为四个矩形区域,直到每个区域内部都是相似的。研究重 点是分裂和合并规划的设计。
缺点: 分裂技术破坏区域边界。
example
• 在想要分割的部分选择一个或者多个种子 • 相邻像素就会以某种算法进行检测 • 将符合检测条件的像素加入到区域中 • 逐渐生长为满足约束条件的目标区域
途径: 先用基于区域的分裂合并方法分割图像,然后用边界信息对区 域间的轮廓进行优化;先在梯度幅值图像中检测屋脊点和波谷点, 通 过最大梯度路径连接奇异点获得初始图像分割,然后采用区域合并技 术获得最终结果等
其它分割方法
基于模糊理论:图像分割问题是典型的结构不良问题,而模糊集理论具 有描述不良问题的能力。基于模糊理论的图像分割方法包括模糊阈值 分割方法、模糊聚类分割方法和模糊连接度分割方法等。
优点:实现简单,对不同类灰度值或其他特征相差很大 时,能有效分 割。常做医学图像的预处理。
缺点: 不适应多通道和特征值相差不大的图像;对噪声和灰度不均匀 很敏感;阈值选取困难。
直方图
• 图像区域由灰度值区分开
基于阈值的图像分割
阈值:
选择灰度值作为阈值
g m in和g m a x
遍历整幅图像检测像素是否在此区域内
分类: 形变模型包括形变轮廓(deformable contour) 模型(又称 snake或active contour ),三维形变表面(deformable surface )模型。
形变轮廓模型: 使轮廓曲线在外能和内能的作用下向物体边 缘靠近,外力推动轮廓运动,而内力保持轮廓的光滑性。
基于阈值的图像分割
血管内超声图像序列分割的研究进展

万方数据第4期血管内超声图像序列分割的研究进展・441・而辅助冠心病的诊断及有效的介入治疗。
临床应用中,为了对血管腔的直径、截面积、容积、血管壁厚以及斑块的大小等重要参数进行测量,需要首先提取出各帧IVUS图像中血管壁的内、外膜边缘和可能存在的斑块边缘,它同时也是IVUS图像三维重建的重要步骤,二维分割的质量直接决定量化分析和三维重建的精度。
1IVUS图像特点常规IVUS的操作要求经右股动脉穿刺,插入引导导管至相应的冠状动脉口,进行选择性冠脉造影。
然后在x线透视下沿靶血管插入直径0.014寸的引导钢丝至血管远端,沿引导钢丝将超声探头导管插入靶血管远端,在透视下缓慢回撤探头导管。
根据导管内有无机械旋转装置,将超声探头分为机械旋转型和电子相控阵型两种。
前者包括旋转晶片和晶片固定而旋转一声学反射镜两种。
单晶片位于一个可弯曲的轴心头端,轴心在外鞘管内以1800r/rain的速度旋转,而鞘管是固定不动的,因此可以保证回撤路径的稳定,在临床上应用较为广泛。
电子相控阵型超声导管由32—64个晶片组成,呈环状排列于导管顶端,同时向3600发射声束形成管腔横断面图像¨1。
血管内超声图像与其它医学图像相比有明显区别,例如,图像中的组织呈现为圆环形结构;图像噪声形式多样,有斑点噪声、回声失落、图像失真等;图像序列前后帧之间非常相似,具有很强的相关性;血管壁内、外膜边缘属于强噪声环境下的弹性体弱边缘等。
图1是一幅典型的IVUS图像,清晰地显示了血管腔横截面的形态结构,包括内腔、斑块和血管壁的中、外膜等。
图1血管内超声图像Figure1Intravascularultrasound(IVUS)image2研究进展2.1现有方法分类按照方法的自动化程度,可将现有的IVUS图像分割方法分为以下四类。
(1)全手动操作者用鼠标驱动画笔逐一在每一幅图像上绘出目标轮廓线。
这项工作不仅耗时,对操作人员的技术水平和专业知识要求较高,而且结果不可避免的受到操作者技术和主观因素的影响,可重复性差。
一种基于蚁群算法的Snake模型与MRI分割

Ab ta t sr c
S a e mo e a e n w d l p l d i ma e sg nain, ihte vru so atc n eg n e a d hg c u a yatiig n k d lh sb e ieya pi n i g e me tt e o w t h i e ffs o v re c n ih a c rc t nn t a
( eat etfMahr i , afn n esyo f r tnSi c n eh ooy N n n in s J , hn Dp r n temtsN n g U i r t fI omai c nea dTcnlg , af gJ gu2 ∞ m o r c i v i n o e i a Ci a)
i i ae S a e T e a c n r ea n ry i d e n k d l n e o vn r c s O a o mo e it h o c v e in . i al , A p n t t n k . h n。 e t p tle e g sa d d t S a e mo e i v l i gp o e sS st v n ot e c n a e rg o s F n l AC o - i i o y t z st e r s l a d ma e i c n e g o t e w oe o t m. h x e i n e u t d mo sr t t a hs ag rtm a e me t i e h e u t n k t o v r e t h h l p i mi mu T e e p rme tr s l e n tae h tt i lo h c n s g n s i MR g s i e ma efc iey f t l. e v Ke wo d y rs S a e mo e An oo y a g r h n k d l t l n lo i m MRIs g n a in c t e me tt o
医学图像处理中的边缘检测与分割算法
医学图像处理中的边缘检测与分割算法边缘检测与分割是医学图像处理中的重要部分,被广泛应用于疾病诊断、医学影像分析和手术辅助等领域。
边缘检测算法用于提取图像中的边缘信息,而分割算法则可以将图像划分为不同的区域,有助于医生对图像进行进一步分析和诊断。
一、边缘检测算法在医学图像处理中,常用的边缘检测算法包括基于梯度的方法、基于模型的方法和基于机器学习的方法。
1. 基于梯度的方法基于梯度的边缘检测算法通过计算图像中像素点的梯度值来确定边缘位置。
常用的算法包括Sobel算子、Prewitt算子和Canny算子。
Sobel算子是一种常用的离散微分算子,通过在图像中对每个像素点应用Sobel算子矩阵,可以得到图像的x方向和y方向的梯度图像。
通过计算梯度幅值和方向,可以得到边缘的位置和方向。
Prewitt算子与Sobel算子类似,也是一种基于梯度的边缘检测算子。
它通过将图像中的每个像素点与Prewitt算子矩阵进行卷积运算,得到图像的x方向和y方向的梯度图像。
进一步计算梯度幅值和方向,可以确定边缘的位置和方向。
Canny算子是一种经典的边缘检测算法,它采用多步骤的方法来检测边缘。
首先,对图像进行高斯滤波来减少噪声。
然后,计算图像的梯度幅值和方向,进一步剔除非最大值的梯度。
最后,通过设置双阈值来确定真正的边缘。
2. 基于模型的方法基于模型的边缘检测算法借助数学模型来描述边缘的形状和特征。
常用的算法包括基于边缘模型的Snake算法和基于边缘模型的Active Contour算法。
Snake算法(也称为活动轮廓模型)是一种基于曲线的边缘检测算法。
它通过将一条初始曲线沿着图像中的边缘移动,使得曲线更好地贴合真实边缘。
Snake算法考虑了边缘的连续性、平滑性和能量最小化,可以获得较为准确的边缘。
Active Contour算法是Snake算法的进一步发展,引入了图像能量函数。
通过最小化能量函数,可以得到最佳的边缘位置。
Active Contour算法可以自动调整曲线的形状和位置,适应复杂的图像边缘。
GVF Snake模型在全身骨SPECT图像分割中的应用
GVF Snake模型在全身骨SPECT图像分割中的应用朱春媚;田联房;陈萍;王立非;叶广春;毛宗源【期刊名称】《生物医学工程学杂志》【年(卷),期】2008(25)1【摘要】全身骨SPECT图像受成像原理限制,膀胱区域灰度值很高,影响图像整体的亮度、对比度和可读性;膀胱区域与病灶具有相似的灰度特征,不利于对图像进行病灶的自动识别等处理。
GVF Snake模型是传统Snake的改进模型,我们用GVF Snake模型分割膀胱区域,实现全自动去除膀胱区域,为SPECT全身骨图像的各种处理提供良好的环境。
【总页数】3页(P27-29)【关键词】全身骨SFIECT图像;GVFSnake;膀胱区域;分割【作者】朱春媚;田联房;陈萍;王立非;叶广春;毛宗源【作者单位】电子科技大学中山学院自动化工程系,中山528403;华南理工大学自动化科学与工程学院,广州510640;广州医学院第一附属医院核医学科,广州510120;广州中医药大学祈福医院影像中心,广州511495【正文语种】中文【中图分类】TP319.41;R318【相关文献】1.差分进化算法GVF Snake模型在PET图像分割中的应用 [J], 毕晓君;肖婧2.基于GVF Snake模型的图像分割方法在放射吸收法(RA)中的应用 [J], 孙涛;汪家旺;韩善清3.GVF Snake模型在细胞核图像分割中的应用 [J], 张培培;包振健;张更路4.结合梯度边缘信息改进的全局阈值法与GVF Snake模型的宫颈细胞图像分割[J], MENG Chuchu;ZHAO Lihong5.结合梯度边缘信息改进的全局阈值法与GVF Snake模型的宫颈细胞图像分割[J], 孟楚楚;赵立宏;因版权原因,仅展示原文概要,查看原文内容请购买。
Snake 模型的学习
Snake 模型的学习一、Snake 模型的理论概念介绍1.基本思想:它以构成一定形状的一些控制点为模板(轮廓线),通过模板自身的弹性形变,与图像局部特征相匹配达到调和,即某种能量函数极小化,完成图像的分割。
再通过对模板的进一步分析而实现图像的理解和识别。
蛇模型是在曲线本身的内力和图像数据的外部约束力的作用下的移动变形轮廓线。
作用在蛇模型上的力依据轮廓的形状和位置决定在局部空间的移动。
内力起到平滑约束作用,外力引导曲线向图像轮廓所在位置移动。
2.构造Snake模型的目的:调和上层知识和底层图像特征这一对矛盾,Snake模型的轮廓线承载了上层知识(人们对物体的认识主要来源于外形轮廓),而轮廓线与图像的匹配又融合了底层特征。
这两项分别表示Snake模型中能量函数的内部力和图像力。
3.Snake模型的初始轮廓的选择:由于snake模型对初始位置比较敏感,因此要求初始轮廓尽可能的靠近真实轮廓,而当图像比较模糊或者目标比较复杂或者其他物体靠近时,其初始轮廓更不易确定。
现在的初始轮廓选择的方法:a.人工勾勒图像的边缘b.序列图像差分边界c. 基于序列图像的前一帧图像边界进行预测d.基于传统图像分割结果进行边界选取。
二、基本的Snake模型Kass 等提出的原始Snake模型由一组控制点组成v ( s ) = [x ( s ), y ( s ) ] s ∈[0,1] (1)这些点以首尾以直线相连构成轮廓线,x(s)、y(s) 分别表示每个控制点在图像中的坐标位置,s(s是归一化的曲线长度)是以傅里叶变换形式描述边界的自变量,在Snake控制点上定义能量函数第一项称为弹性能量,是v的一阶导数的模,第二项称为弯曲能量,是v的二阶导数的模,第三项为外部能量(外部力),αβ分别是控制Snake模型的弹性和刚性。
Snake模型对轮廓的灵活性依赖于这两个系数。
在基本Snake模型中,一般只取控制点或连线所在位置的图像局部特征,例如梯度也称图像力。
基于方向Snake模型的心脏磁共振图像左心室内外膜分割
b sdt m i h em tcfw br w d f m x n e y a cDrci a G ai tVet l ( D V ) wt at ae r tego e o o o e o et ddD nmi i t nl rd n c rFo D G F e n i r l r r e e o e o w i fs h maci e o a ti dt gietecreeo t nt ad h bet on a e i ieet i c o.T erg n r hn m t dw suiz ud uv vl i w rsteojc bu dr swt d f n r tn h ei — g h le o h uo o i h fr d e i o b sdtr o o e o hnV s C )m dl a uizdt peeth uv o aaeud rh f ec f te ae m b r w df m C a — ee( V o e w s ti rvn tecref m l kg n e tei un eo hr e r r le o r e n l o
张 宁, 学飞, 余 卢广文
( 南方医科 大学 生物医学工程学 院, 广州 50 1) 15 5 ( 通信作者 电子邮箱 g l@f u ci wu i mm .o ) n
摘
要 : 对 心 脏 磁 共 振 图像 ( I 左 心 室 内膜 与 外膜 边缘 方 向 不 同 的特 点 , 出一 种 基 于 曲 线 演 化 框 架 的 方 向 针 MR ) 提
关键词 : 曲线 演 化 ; 几何 流 ; 态 方 向 梯 度 矢 量 流 ;V 模 型 ; 脏 磁 共 振 成 像 ; 心 室 分 割 动 C 心 左
中 图分 类号 : P0 . ; P 9 . 1 T 3 2 7 T 3 14 3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机视觉实验二 ——图像分割:snake轮廓模型 简介 Snake是Active Contour Model的一种,它以构成一定形状的一些控制点为模版(轮廓线),通过模版自身的弹性形变,与图像局部特征相匹配达到调和,即某种能量函数极小化,完成对图像的分割。每一个Snake都是能量最小曲线,受外部限制力引导及图像力的影响使它向着线和边缘等特征移动。Snakes是活动轮廓模型:他们自动跟踪附近边缘,准确地使曲线集中。尺度空间(scale-space)的连续性用来去扩大对特征周围区域的捕获。Snakes提供一种许多视觉问题的统一的解决方法,包括检测边,线及主观轮廓;移动跟踪;及立体匹配。我们成功使用Snakes用于交互解释(interactive interpretation),即用户提出一种限制力引导Snake靠近感兴趣的特征。
基本snake性能
我们的基本snake模型是一条被控制的连续曲线,其曲线受图像力和外部限制力的影响。内部样条(splint)力用来加以分段平滑限制。图像力把snake推向显著图像特征,如线,边,主观轮廓等等。外部限制力负责推动snakes靠近理想的局部最小值。例如这些力,可以来自使用者接口,自动注意机制(automatic attentional mechanisms),或者高层解释(high-level interpretations)。
实验关键步骤代码 1. 获取手动取点坐标,该部分代码如下 14 % ========================================================================= 15 % 获取手动取点坐标
16 % ========================================================================= 17 % 读取显示图像
18 %I = imread('Coronary_MPR.jpg'); 19 I = imread('plane.png'); 20 % 转化为双精度型
21 %I = im2double(I); 22 % 若为彩色,转化为灰度
23 if(size(I,3)==3), I=rgb2gray(I); end 24 figure(1),imshow(I); 25 %--------------------------- 26 % 高斯滤波
27 %--------------------------- 28 sigma=1; 29 % 创建特定形式的二维高斯滤波器H
30 H = fspecial('gaussian',ceil(3*sigma), sigma); 31 % 对图像进行高斯滤波,返回和I等大小矩阵
32 Igs = filter2(H,I,'same'); 33 %--------------------------- 34 % 获取Snake的点坐标
35 %--------------------------- 36 figure(2),imshow(Igs); 37 x=[];y=[];c=1;N=100; %定义取点个数c,上限N
38 % 获取User手动取点的坐标
39 % [x,y]=getpts 40 while c 41 [xi,yi,button]=ginput(1); 42 % 获取坐标向量
43 x=[x xi]; 44 y=[y yi]; 45 hold on 46 % text(xi,yi,'o','FontSize',10,'Color','red'); 47 plot(xi,yi,'ro'); 48 % 若为右击,则停止循环
49 if(button==3), break; end 50 c=c+1; 51 end 52 53 % 将第一个点复制到矩阵最后,构成Snake环
54 xy = [x;y]; 55 c=c+1; 56 xy(:,c)=xy(:,1); 57 % 样条曲线差值
58 t=1:c; 59 ts = 1:0.1:c; 60 xys = spline(t,xy,ts); 61 xs = xys(1,:); 62 ys = xys(2,:); 63 % 样条差值效果
64 hold on 65 temp=plot(x(1),y(1),'ro',xs,ys,'b.'); 66 legend(temp,'原点','插值点');
2. Snake算法实现部分,代码如下: 68 % ========================================================================= 69 % Snakes算法实现部分 70 % ========================================================================= 71 NIter =1000; % 迭代次数
72 alpha=0.2; beta=0.2; gamma = 1; kappa = 0.1; 73 wl = 0; we=0.4; wt=0; 74 [row col] = size(Igs); 75 76 % 图像力-线函数
77 Eline = Igs; 78 % 图像力-边函数
79 [gx,gy]=gradient(Igs); 80 Eedge = -1*sqrt((gx.*gx+gy.*gy)); 81 % 图像力-终点函数
82 % 卷积是为了求解偏导数,而离散点的偏导即差分求解
83 m1 = [-1 1]; 84 m2 = [-1;1]; 85 m3 = [1 -2 1]; 86 m4 = [1;-2;1]; 87 m5 = [1 -1;-1 1]; 88 cx = conv2(Igs,m1,'same'); 89 cy = conv2(Igs,m2,'same'); 90 cxx = conv2(Igs,m3,'same'); 91 cyy = conv2(Igs,m4,'same'); 92 cxy = conv2(Igs,m5,'same'); 93 94 for i = 1:row 95 for j= 1:col 96 Eterm(i,j) = (cyy(i,j)*cx(i,j)*cx(i,j) -2 *cxy(i,j)*cx(i,j)*cy(i,j) + cxx(i,j)*cy(i,j)*cy(i,j))/((1+cx(i,j)*cx(i,j) + cy(i,j)*cy(i,j))^1.5); 97 end 98 end 99 100 %figure(3),imshow(Eterm); 101 %figure(4),imshow(abs(Eedge)); 102 % 外部力 Eext = Eimage + Econ
103 Eext = wl*Eline + we*Eedge + wt*Eterm; 104 % 计算梯度
105 [fx,fy]=gradient(Eext); 106 107 xs=xs'; 108 ys=ys'; 109 [m n] = size(xs); 110 [mm nn] = size(fx); 111 112 % 计算五对角状矩阵 113 % 附录: 公式(14) b(i)表示vi系数(i=i-2 到 i+2)
114 b(1)=beta; 115 b(2)=-(alpha + 4*beta); 116 b(3)=(2*alpha + 6 *beta); 117 b(4)=b(2); 118 b(5)=b(1); 119 120 A=b(1)*circshift(eye(m),2); 121 A=A+b(2)*circshift(eye(m),1); 122 A=A+b(3)*circshift(eye(m),0); 123 A=A+b(4)*circshift(eye(m),-1); 124 A=A+b(5)*circshift(eye(m),-2); 125 126 % 计算矩阵的逆
127 [L U] = lu(A + gamma.* eye(m)); 128 Ainv = inv(U) * inv(L); 3. 画图部分,代码如下: 130 % ========================================================================= 131 % 画图部分
132 % ========================================================================= 133 %text(10,10,'+','FontName','Time','FontSize',20,'Color','red'); 134 % 迭代计算
135 figure(3) 136 for i=1:NIter; 137 ssx = gamma*xs - kappa*interp2(fx,xs,ys); 138 ssy = gamma*ys - kappa*interp2(fy,xs,ys); 139 140 % 计算snake的新位置
141 xs = Ainv * ssx; 142 ys = Ainv * ssy; 143 144 % 显示snake的新位置
145 imshow(I); 146 hold on; 147 plot([xs; xs(1)], [ys; ys(1)], 'r-'); 148 hold off; 149 pause(0.001) 150 end
实验步骤及结果 1. 读取待处理图像,若是彩色图像,必须转化为灰度,结果如图1。