(计算数学专业论文)一种提取心电曲线的方法.pdf_第1页
(计算数学专业论文)一种提取心电曲线的方法.pdf_第2页
(计算数学专业论文)一种提取心电曲线的方法.pdf_第3页
(计算数学专业论文)一种提取心电曲线的方法.pdf_第4页
(计算数学专业论文)一种提取心电曲线的方法.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算数学专业论文)一种提取心电曲线的方法.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 本文使用曲线追踪的方法实现了心电图( e c g - - e l e c t r o c a r d i o g r a m ) 曲线的提取。 首先通过图像预处理,去除心电图中的背景和噪音,留下主背景 线和心电曲线;其次由投影方法定位出水平和垂直主背景线的位置; 再从心电曲线的起始点开始,使用心电曲线的连续性,连续追踪得到 整条心电曲线。 本文所有程序使用m a t l a b 语言实现。 关键词:心电图,图像处理,连续性,曲线追踪 a b s t r a c t i nt h i sp a p e r ,t h ee c gc u r v ei se x t r a e df r o me c gi m a g e b yu s i n gt h em e t h o do ft r a c ec u r v i n g f i r s t l y ,t h eb a c k g r o u n da n dn o i s ei ne c gi m a g ei sr e m o v e db yi m a g ep r e p r o c e s s i n g ,a n dt h u s l yt h e r er e m a i n st h em a i n b a c k g r o u n d1i n e sa n dt h ep o i n t sw h i c hb e l o n g st oe c gc u r v e s e c o n d l y ,e x p l o i t i n gt h em e t h o do fp r o j e c t i o nt h em a i nb a c k g r o u n dl i n e sc a nb ep o s i t i o n e d :f i n a l l y ,a c c o r d i n gt ot h e c o n t i n i n u t yo ft h ee c gc u r v e ,f r o mt h es t a r tp o i n t ,t h ew h o l e e c gc u r v ei sf e t c h e db yt h ec o n t i n o u st r a c i n g a 1 1p r o g r a m si nt h i sp a p e rw e r ew r i t t e ni n m a t l a b k e y w o r d s :e c g ,i m a g ep r o c e s s i n g ,c o n t i n u i t y ,c u r v et r a c i n g 第一章论文背景及心电图图像介绍 众所周知,心电图记录了心脏的工作状态,在诊断和治疗心脏病 方面起着重要作用。但是由于种种原因,目前保存了大量的心电图, 只是这些心电图是打印在心电图纸上的;在信息化、数字化时代背景 下,如何处理、开发和利用这些宝贵的资料,是一项艰巨的任务。在 心电图中最有用的信息是心电曲线,如果能把心电曲线提取出来,则 只需保存这些曲线数据即可,实现数字化存储,这样也便于日后的归 档和分析处理。 由于只是利用几何特征提取心电曲线,和心电图产生的具体原理 没有很大的关系,因而本文不再阐述心电图产生的原理。 首先让我们看一幅心电图,该图也是本文中所有插图的原始图。 第l 页共5 1 页 _ _ 山o zi :表z k lk 。一盔 。l 岬,、点 。一r + 。 +。ti 。 ;j 奠鲞戤、目ml j _ h 图1 2 图1 1 是通过激光扫描仪扫描原始心电图而得。由郑州大学第 二附属医院李中健教授提供,分辨率是1 0 9 5 6 3 9 ,格式是2 4 位r g b 位图文件。 图i 2 是图1 1 的局部放大,便于观察心电图的细节和特征。 图1 1 只是心电图的一种格式( 本文以该格式为准,其它格式可以 类似处理) 。心电图有以下特征: ( 1 )心电曲线是打印在心电图纸上的,曲线由左向右记录; 心电图纸有水平直线和垂直直线相互交叉组成网格,称 这些线为背景线;其中宽度较宽、颜色较深的背景线称 为主背景线或主线,宽度较窄、颜色较浅的背景线称为 细线;在相邻的主线之间有四条细线,根据心电图标准, 正常情况下沿水平方向( 即心电曲线记录方向,也就是 时间轴) 相邻垂直主线间的时间是0 2 0 秒,空间距离是 第2 页共5 1 页 5 m m ,相邻垂直细线间的时间是o 0 4 秒,空问距离是 1 m m ;沿垂直方向( 即记录心电向量的幅值方向,单位 是m y ) 相邻水平主线间的电压是o 5 m v ,空间距离是 5 m m ,相邻水平细线间的电压是0 1 m v ,空间距离是 l m m ;垂直方向和水平方向在空间上讲是等距的。因而 在正常情况下只要测量出相邻主线间的像素个数,就可 以确定所有的尺度信息了。 除背景线和心电曲线外,心电图大部分是无用的背景信 息,而且这些背景和背景线、心电曲线的灰度值差别非 常明显;但是背景线和心电曲线的灰度值确相差不大, 两者主要区别是背景线是直线,而心电曲线却是由曲线 部分和近似直线部分组成。 有1 2 条连续的心电曲线;从上至下,从左至右依次称为 圳,i i i ,a v r , a v l , a v f , v 1 ,v 2 ,v 3 ,v 4 ,v 5 ,v 6 导联,前6 个导联 在图像左边,后六个在右边,每条导联记录了心脏心电 轴向量在不同方向的投影。 对每条心电曲线都有一条基线位置,心电曲线围绕基线 上下波动,而且基线和背景线有重合的可能。 心电曲线的峰值可在基线的上方或下方,且所在位置可 能和背景线重合。 经扫描的心电图颜色是分布不均匀的。在图1 1 中,四 周偏蓝。 第3 页共5 1 页 回 ( 7 )在峰值附近由于记录笔垂直方向速度大,笔迹变浅,导 致心电曲线的灰度值变化很大,甚至有些部分和背景融 和不易区分,不利于心电曲线的识别。 ( 8 )不同导联的心电曲线可能会交叉,本文不考虑这种情 形。 由于以上特征,本文对心电图的基本要求是: ( 1 )心电图是2 4 位r g b 位图格式( 但是后面对图像的处理 实际上是以某一个颜色分量或将其转换为灰度图来处 理) : c )心电曲线记录方向为从左向右; ( 3 )心电图在扫描时水平和垂直方向的比例为1 :l ,因而只要 识别出一个方向的主线间距就可以了 ( 4 )心电图在扫描时尽量放正,使得背景线保持水平 和垂直; ( 5 )在扫描心电图时尽量使图像各部分保持均匀; ( 6 )不同导联的心电曲线不交叉。 虽然经扫描仪扫描后,原始的心电图转化为数字化的心电图片, 但是还不能直接从该图片中提取心电曲线,需要对该图片进行一番预 处理,去掉图片中的噪音和绝大部分背景,尽可能的保留主线和心电 曲线,这就是下一章要做的预处理工作。 第4 页共5 1 页 第二章心电图图像预处理 为了方便图像读写和处理,尽量利用现有成熟的算法,本文采 用m a t l a b 编程。在m a t l a b 中,图像存储在三维矩阵或二维矩阵中, 可以很方便使用m a t l a b 的语法表示和处理。 由于要处理的心电图是2 4 位r g b 位图( 亦可以采用如j p e g 等其 他格式,只是在处理前要人工转换为该格式) ,但色彩处理起来很不 方便,因而将其转换为灰度图或采用其某一个分量来处理,而这在 m a t l a b 中很容易实现,只要用r g b 2 9 r a y 函数或直接取图像矩阵的某 一维数据即可容易实现。所以下面都假设已经得到灰度图或其某一个 分量。 图2 1 在此,首要的目的是去掉图像中的非心电曲线和主线的大部分 背景。为直观缘由,将图片反色处理,如图2 1 ( 图1 1 的蓝色分量并 反色处理) 所示,这样一来灰度值大( 比较亮) 的点基本上就是所需要得 第5 页共5 1 页 点,而灰度值小( 很暗) 的点是要去除的。 由图2 1 ,很容易想起用常用的边缘算子,如s o b e l 算子,l o g 算子等去提取心电曲线和背景线,但经过多次试验,效果不理想,只 好另找它法。 图2 2 图2 2 是图2 1 的局部放大,由此可以看出在图2 1 中很多看似很 暗的区域,其实是由许多灰度值很大的亮点和大量的暗点( 灰度值小 但未必为0 ) 组成,其中亮点的灰度值和主线以及心电曲线的灰度值相 差不大,而且这些亮点主要出现在细线上,这些亮点好似镶嵌在黑暗 海洋中的一个个孤岛,是“离散的”,而主线和心电曲线却是“连通 的”,这是两者的重大差别。首先将亮点周围的暗点去除,再用寻找 极大连通分量的方法将孤岛去除,留下的基本上就是主线和心电曲 线,暗点去除就是下节要做的第一道工序断线。 第6 页共5 l 页 第一节断线 为了尽可能多的去掉暗点,又尽可能多的减少误删,保留尽可能 完整的主背景线和心电曲线。首先分析一下图像灰度值的分布规律。 图2 3 图2 3 是图2 1 的灰度直方图,该直方图是单峰的,明显可以看 出暗点占图像的绝大部分,只要设定一个合适的阂值,将灰度值小于 该闽值的像素灰度值置为0 ,就实现了断线的目的。 由于图像在扫描时容易造成灰度不均匀,因而不能取全局阅值, 而是采取分块处理,使得在图像暗的区域阂值小些,而在比较亮的区 域阂值大些。取每块图像灰度值的平均值m 和标准差s 的线性组合 m + r s 作为阈值,其中系数r 一般取值肚l ,亦即取平均值为基本阂 值,再利用标准差对其进行修正;r 的选取应使处理后的图像中细线 尽可能多地被去除或断开,并且尽可能多地保留主背景线和心电曲线 上的点。 m 和s 的计算公式p h q r ( 设9 为选定的矩形区域块) : 第7 页共5 i 页 一高。磊五力 舻砑1 。磊五力一) 2 ) 2 其中i 翻是口的面积即点数,删是图像在 力处的灰度值。 图2 4 是经过断线处理后的局部图像,选取方块大小为4 0 4 0 , 系数r 取0 3 。图2 4 和图2 2 相比最大的变化是孤岛周围暗点的灰度 值变成了0 。从图2 4 中看出,在比较亮的左边区域,细线断裂成多 段,其中部分主线也断裂成几段,但主线大部分还是连续的,为以后 定位主线的位置和测量主线问距打下基础;在比较暗的中部,细线断 裂的更加明显;心电曲线在峰值附近也可能断裂,但绝大部分仍是连 续的。 下面是断线算法描述。 图2 4 b o o ig e t l o c a l m s ( i n f i l e ,s i z e ,r ,o u t f i l e ) 试f i l e 要处理的灰度图像文件名; s i z e _ 分块的大小; 第8 页共5 l 页 r 一线性组合公式中标准方差的系数; o u t f i l e 一保存结果的文件名称: 打开i n f i l e 灰度文件将图像保存于i i i l 中; 获取图像的宽度w i d t h 和高度h e i g h t , 从左至右从上到下依次从图像中取s i z e x s i z e 大小的块, 对每个块b l o c k 做如下处理: 计算b l o c k 内像素灰度的平均值m 和标准差s ; 将b l o c k 中灰度值小于m + r x s 的像素置o ; 保存b l o c k 到原图像i i i l 的原位置; ) 将处理过的图像i i l l 保存到o u t f i l e 中; ) 经过断线后,接下来就要寻找图像中的极大连通分量,去除图 2 4 中那些孤立的点和区域。 第二节寻找极大连通分量 从上节图2 4 中可以知道,所需要的主线和心电曲线构成了极大 连通的区域( 假若视图2 4 为二值图) ,如果能找到这个极大区域,自 然就达到了去除孤岛的目的。 第9 页共5 l 页 对此,可以使用区域生长的方法寻找图像中的孤岛和其他连通的 区域,为了提高性能,使用下面介绍的邻域去除法先对图像进行处理, 尽可能多地先去掉图像中数量众多但面积很小的孤岛。 取以某个非0 点( 指灰度值不是0 的点,下同) 像素为中心、尺寸 为w x h 矩形区域内的图像,如果该区域的边界像素都是0 点,则将 该区域内的非0 点置为0 点( 指灰度值是0 的点,下同) ;通过调整w 和h ,可以选择要删除孤岛的尺寸。由于只是检测区域边界的点,避 免了查找所有属于孤岛的点,因而比区域生长法找孤岛要快。 采取不同的尺寸对图像重复几次做上述处理,就可以去掉相当多 的孤岛。刚开始处理时,孤岛相离的比较近,要选取较小的尺寸,然 后再逐渐加大尺寸就可以去除较大的孤岛。 下面是邻域去除法算法描述。 b o o ld e l s l a n d ( i n f i l e ,w ,h ,o u t f i l e ) i 1 1 f i l e 一待处理的灰度文件名 w ,h 一指定的矩形尺寸,可以是一组尺寸 o u t n l e 一保存结果的文件名 打开文件i n f i l c 将图像保存到变量h ; 对每组尺寸w i 和h i 做如下处理 根据w i 和h i 计算最小起始行s r 和列s c ; 根据w i 和h i 计算最大结束行e r 和列e c ; 第1 0 页共5 l 页 f o r ( r o w = s r ;r o w = e r ;r o w + = h i ) 处理行块 计算每个矩形区域开始行号s r o w 和结束行号c r o w ; 当前处理的列号c o l 取最小起始列号s c : f o r ( c o l = s c ;c o l = e c ;c o l + - - w i ) 1 处理列块 如果( r o w , c 0 1 ) 为0 点,则前进- n ,继续循环; 计算矩形区域的开始列号和结束列号; 检查区域左右边界像素是否有非0 点,若有则前 进一列,继续循环; 检查区域上下边界像素是否有非0 点,若有则前 进一列,继续循环; 区域边界上没有非0 点,则将区域内非0 点都置 为0 点,并向前跨越整个矩形,继续循环; ,处理列块 处理行块 ) 处理不同的尺寸 保存处理后的图像i i i l 到文件o u t f i l e ; 图像经过上述处理后,就可以做寻找极大连通分量的工作了。 在m a t l a b 中,函数b w s e l e c t 是用来在二值图像中选择指定的连 第1 l 页共5 l 页 通区域,而这个指定的区域是由该区域内的一个点决定。对这个点的 选取,在此仍使用寻找极大连通分量的办法,只是搜索的范围是上节 结果图像的一部分,速度很快。 下面是寻找极大连通区域算法描述。 b o o lg e t c o n n e c t e d c o m p o n e n t ( i n f i l e ,o u t f i l e ) i i l f i l e 要处理的灰度文件; o u t f i l e 一保存结果的文件名称; 打开图像文件i n f i l e 将图像保存到变量i m ; 将劬转化为二值图像保存到变量i m k ; 取i m k 的一部分保存到i i l l 蛞变量:最好在图像中间取 使用函数b w l a b e l 在i m k g 中寻找所有的连通分量并且用不 同的数字区分开来保存到i m k g 中; 使用函数r e g i o n p r o p s 计算找到的各个连通分量的面积; 寻找最大面积区域的数字代码m a x ; 在i m k g 中寻找代码是m a x 的点p ;只需一个点即可 根据点p ,使用函数b w s e l e c t 在i m k 中寻找极大连连通分 量保存到i m k ; 据i m k 中非0 点位置从i l i l 中取极大连通分量保存到i i r i ; 将处理后的图像h 保存到文件o u t f i l e ; ) 第1 2 页共5 l 页 图2 5 经过取极大连通分量后,从图2 5 ( 部分图像) 可以明显看出孤岛 已经被去除了,剩下的基本上就是主线和心电曲线了,只是还有很多 单像素宽的毛刺称之为悬线,这会干扰主线间距测量、主线定位 和曲线追踪过程,下节的工作就是去除这些悬线。 第三节去悬线 在一幅二值图像中,称一条单像素宽水平直线段是水平悬线是指 该线段是单端或双端自由的,即左端点只有右四邻域点或右端点只有 左四邻域点,或者两者皆成立,并且对单端自由的,另一个端点必须 存在右8 邻域或左8 邻域的所有点,线段上其余点只能存在左右4 邻 域。垂直悬线可类似定义,只用将定义中的右四邻域和左四邻域换为 上四邻域和下四邻域即可。 上述定义可以扩展到灰度图象,只需将灰度图象中的点区分为0 点和非0 点即可。下面的处理就是这样做的。 由于在心电曲线中存在很多尖峰,为了尽可能的减少去悬线时将 第1 3 页共5 i 页 这些尖峰误删掉,对水平和垂直悬线分别讨论。 在处理垂直悬线时,只需将图像转置,按水平悬线对待,两者唯 一的差别在于对单端自由悬线的处理上去垂直悬线要多一些处理:假 设已经将图像转置,垂直悬线变成了水平悬线,则在处理左端自由时, 右端点除了要判断存在左8 邻域所有点存在时,还要再向右前进一 列,判断和前面8 邻域并排的点是否存在,只要存在一点,就认为悬 线不应删掉,否则,悬线应该删掉;对右端自由的处理,类似前者, 只是再向左前进一列进行判断。由此可以将去水平和垂直悬线合并处 理。 去水平悬线时,首先去除左端自由的悬线,再去右端自由的悬线。 下面是去除悬线的算法。 b o o ld e l i n e ( i n f i l e ,o u t f i l e ) i 1 1 f i l e 一要处理的文件名; 0 u t f i l e 一保存结果的文件名; 打开文件i n f i l e 保存图像到变量i i l l 中; 令o v e r = l ,表示先处理水平悬线; w h i l e ( o v e r 3 ) 清空保存单端自由端点坐标的数组x p ,y p ; 取图像高度和宽度保存到h e i g h t 和w i d t h 中; 寻找所有非0 点的坐标保存到数组x ,y 中; 第1 4 页共5 1 页 f o r ( p o s = l ;p o s = l e n g t h ( x ) ;p o s + + )寻找左自由端点 取非0 点坐标r o w ,c o l ; 若r o w 和c o l 是边界上的点,则继续f o r 循环; 若该点上下和左边没有8 邻域的非0 点,则保存r o w , c o l 到自由端点数组x p ,y p 中; ) f o r ( p o s = l ;p o s = l e n g t h ( x p ) ;p o s 抖) 处理左端自由的悬线 取自由端点坐标s r o w ,s c o l 中: 令r o w = s r o w ,c o l = s c o l + l ;前进一列 w h i l e ( c o l - - w i d t h ) 向右寻找左端自由的悬线,并处理 i f ( 点( r o w ,c 0 1 ) 是0 点) 可能遇到双端自由的悬线 判断点( r o w ,c 0 1 ) 的上下邻域是否都为0 点,若是, 则将当前行区问 s c o l ,c o l 一1 】之间的点置0 , 否则跳出w h i l e 循环进行下一条悬线的处理; ) e l s e 点( r o w , c 0 1 ) 是非0 点 i f ( 点( r o w , c 0 1 ) 的上下邻域都是非0 点1 第1 5 页共5 l 页 遇到了点( r o w , c o l 1 ) 的右8 邻域都是非0 点 i f ( o v e r = 1 ) 处理水平悬线 将当前行i g f 司 s c o l ,c o l - 1 全部置为0 点; e l s e处理垂直悬线,要多判断一次 若点( r o w ,c o l + 1 ) 、( r o w + 1 ,c o l + 1 ) 和点 ( r o w l ,c o l + 1 ) 都是0 点,则将当前行区间 【s c o l ,c o l - l 】全部置为0 点; ) ) e l s e , 点( r o w ,c 0 1 ) 的上下邻域至少有一个0 点 若点( r o w , c 0 1 ) 的上下邻域都是0 点,则遇到了 悬线的非端点点,令c o l = c o l + 1 ,继续向右; ) 判断是( r o w ,c 0 1 ) 是否为0 点 ,处理单条左端自由悬线 ) 处理所有的左端自由悬线 胪 + 下面处理右端自由的悬线车串 $ 清空保存单端自由端点坐标的数组x p ,y p ; 寻找所有非0 点的坐标保存到数组x ,y 中; f o r ( p o s = l ;p o s e l s e 点( r o w , c 0 1 ) 的上下邻域至少有一个0 点 若点( r o w , c 0 1 ) 的上下邻域都是0 点,则遇到了 悬线的非端点点,令c o l = c 0 1 1 ,继续向右; ) 判断是( r o w , c 0 1 ) 是否为0 点 处理单条右端自由悬线 处理所有的右端自由悬线 处理了所有的水平悬线( 包括双端自由的悬线) 将图像i i i l 转置; 令o v e r = o v e r + 1 ;处理垂直悬线 ) 处理水平和垂直悬线 第1 8 页共5 1 页 + 处理完水平和垂直悬线 十 料 保存处理后的图像i n l 到文件o u t f i l e 中; 为了达到更好的效果,可以用对图像进行多次迭代处理。 图2 6 是图像处理后的局部图,和图2 5 相比,去掉了很多悬线。 图2 6 第四节图像测量 经过前面的处理之后,去除了大量的干扰和背景,就可以进行主 线间距的测量了。 由于假定图像扫描时水平分辨率和垂直分辨率是1 :l ,因而水平背 景主线间距和垂直背景主线间距相差不大,所以取主线间距为二者的 平均值。 下面以测量水平主线间距为例介绍测量方法,至于垂直主线间距 的测量,只需将图像转置后按测量水平时的情况即可。 第1 9 页共5 i 页 此处使用投影的方法测量间距。为了提高测量的精度,避免心电 曲线基线附近直线段部分和峰值附近直线段部分的干扰,先要从前面 结果的图像中找出长度大于指定值的垂直直线段,然后统计各行上的 像素个数,利用统计结果计算出间距。 在此首先写出统计垂直和水平直线段上像素数目的算法。 b o o lf i n d b g ( i n f i l e ,t h r e s h o l d ,h v b g f i l e ) m f j l r 要处理的文件名 t l 眦s h o l d 长度阈值 h v b g f i l e 保存水平和垂直背景像素数量的文件名 打开文件i n f i l e 保存到变量i i i l 中; 令o v e r = 1 ;先处理水平背景; 清空数组h b g ,v b g ;用于保存各行和各列的像素数量 w h i l e ( o v e r = 3 ) 取图像吼的高度h e i g h t 和宽度w i d t h ; f o r ( r o w = l ;r o w t h r e s h o l d = t h r e s h o l d + m p o s ;记录某个方向的均值; 令o v e r = o v e r + l ;处理垂直方向 ,计算水平和垂直背景间隔 第2 4 页共5 l 页 返回t h r e s h o l d 的一半作为主背景间隔; 根据上述算法,对图1 1 此处得到的值是2 0 个像素,这与图像 中的主背景间距是相符的。 第五节图像背景定位 根据前面计算出的主背景间距和水平、垂直像素数数量文件来定 位主背景线的位置,并再次根据这些位置,再次修订一下主背景间距。 以水平主背景线的定位为例叙述该算法。对垂直背景采取类似处 理。 根据图2 7 ,从图像的水平中间位置附近找一条峰值最高的位置, 认为该位置对应一条水平主背景线;然后,以该位置为基准向上下( 对 图像) 或左右( 对图2 7 ) 搜索各个峰值的近似位置,跨度是前面计算出 的主背景问距,再从以近似位置为中心、宽度为2 3 倍主背景间距的 范围内搜索最高的位置,该位置就认为是该峰值代表的主背景线的位 置。 下面是该算法的描述。 i n tb a c k g r o u n d ( h v b g f i l e ,t h r e s h o l d ,r e p t i l e ) h v b g f i l e 存放水平各行和垂直各列像素数量的文件 t h r e s h o l d 一由g e t t h r e s h o l d 算法计算的主背景线间隔 第2 5 页共5 1 页 ,r c 面l e 一保存主背景线的位置文件 返回值是根据主背景线位置修订后的主背景线间隔 打开文件h v b g f i l e ,取得保存水平各行和垂直各列像素数量的 变量h b g 和v b g ; 清空数组l o w s 和c o i s保存主背景线位置; 令o f f s e t = t h r e s h o l d 3 ;以峰值为中心的偏移量 令o v e r = l ;先处理水平主背景线的位置 w h i l e ( o v e r 处理直线 将部分图像i m p 保存到原图像i i i l 中的原位置; 将图像i i l l 转置; 令d i s t = r a t i 0 2 t h r e s h o l d ;计算到边界的距离 令o v e r = o v e r + 1 ;处理垂直方向 ) 保存处理后的图象i l n 到文件o u t f i l e 第3 4 页共5 1 页 图2 1 1 图2 1 1 显示了前两个算法处理的结果,和图2 9 、2 1 0 相比较, 效果是明显的。 经过前面几节的图像预处理后,就可以开始提取心电曲线了。这 就是下一章要做的工作。 第3 5 页共5 l 页 第三章心电曲线追踪 心电曲线最明显的特征是连续性和曲折性。本章就是根据这两个 特征追踪整条心电曲线。 在曲线追踪过程中,使用了众多函数,本文只介绍曲线追踪主算 法和主要的辅助函数。对主要辅助函数,只介绍其伪代码描述。 第一节心电曲线追踪主算法 由于绘制曲线笔划的宽度和扫描心电图时分辨率比较高等原因, 曲线一般不是一个像素宽。曲线在心电图的每一列都是由若干点组 成,构成一个连续的区间段,因而采取区间段的方式来记录曲线的每 一列,即列号信息,当前列的上限和下限;用一维行向量表示就是【列 号上限下限1 ,这在m a t l a b 中是十分便于运算和存储。所有的这些 行向量构成整条心电曲线。 曲线的连续追踪,需要一个起始点;另外在本程序中,由于心电 图分左右两个部分,因而还需要一个结束列号。对每一条心电曲线都 需要这些信息,可以通过人机交互的方式获得;在本程序中是由函数 g e t s t a r t p s 实现( 本文没有列出) 。 有了起始点,设为( s r o w , s c 0 1 ) 就可以以该点为基准点,采用上下 搜索的方式找到该列s c o l 上的所有心电曲线上的点,即区间段,用 l o c a l c u r v e 表示该列对应的行向量。根据曲线的连续性及曲线是从左 第3 6 页共5 1 页 向右绘制的,因而要搜索和l o c a l c u r v e 并列的右边一列曲线上的区间 段,通常有以下几种情形: ( 1 )搜索到非0 点且非背景线点( 可以包含但不能全是) 组成的 区间段;认为这就是心电曲线上的点,将找到的区间段保存到 l o c a l c u r v e 中,而原来的值添加到c u r v e ( 一个矩阵,保存整条心电曲 线) 中,前进一列,继续寻找下一列的区间段; ( 2 )搜索到都是水平背景线上的点组成的区间段;认为心电曲 线和水平背景线相交或重合,将找到的区间段保存到l o c a l c u r v e 中, 而原来的区间段保存到c u r v e 中,前进一列,继续寻找下一列的区间 段; ( 3 )搜索到由垂直背景线上点组成的区间段;此时要跨越垂直 背景线,即修正列号c o l ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论