本发明专利技术涉及一种数字图像中基于Freeman链码的曲线匹配方法,其技术特征在于:首先对特征曲线进行八方向Freeman链码编码;然后采用基于差别累加值及三点链码差的Freeman链码曲线拐角点检测方法检测曲线拐角点;对检测出来的拐角点序列按照拐角点间距离信息以及拐角点间直线段的中点和曲线中点的夹角信息计算曲线起点和曲线方向;按照曲线起点和曲线方向对检测出来的拐角点序列进行重新排序,得到一个不随曲线旋转、平移和尺度变化而变化的拐角点序列;根据拐角点序列计算拐角点间长度序列和拐角点夹角序列,通过拐角点间长度序列和拐角点夹角序列对两条曲线进行相似判断从而完成曲线的匹配。本方法不受曲线旋转、缩放和平移的影响,计算量小,易于实现,是一种实用的曲线匹配方法。
【技术实现步骤摘要】
本专利技术涉及一种数字图像中的曲线匹配方法,尤其涉及一种基于Freeman链码的 属于数字图像中的图像匹配和识别,适合于具有旋转、缩放和平移曲线之间的匹配运算。
技术介绍
物体识别是图像处理中一个很重要的领域,物体识别的方法之一就是提取物体的 特征曲线,然后对这些特征曲线进行匹配来完成物体识别。针对曲线匹配问题目前国内外 进行了大量的研究,有使用半微分不变量进行曲线匹配的,这种方法要计算每个点的切向 量,计算量大,同时没有利用曲线的几何特性;也有采用样条进行曲线匹配,这种方法是采 用样条来逼近曲线,因此决定了它的范围;也有人提出采用直线逼近进行曲线匹配,这种逼 近计算复杂不易实现,同时也不能解决存在旋转和尺度变换的匹配问题。
技术实现思路
要解决的技术问题为了避免现有技术的不足之处,本专利技术提出一种数字图像由基于Freeman链码的 曲线匹配方法,是一种实用有效的曲线匹配方法。本专利技术的思想在于对曲线进行Freeman链码编码后能够很方便的检测拐角点, 采用基于差别累加值及三点链码差的Freeman链码曲线拐角点检测方法检测出的拐角点 具有顺序信息,因此如果采取一种恰当方法对Freeman链码所检测出来的拐角点序列进行 重新排序,得到一个不随旋转、缩放和平移变换的标准的拐角点序列,对这样的标准拐角点 序列进行夹角和距离间的相似性判断实现曲线匹配。技术方案,其特征在于步骤1 对曲线进行八方向Freeman链码编码得到Freeman链码,采用“基于差别 累加值及三点链码差的Freeman链码曲线拐角点检测方法”对曲线进行拐角点检测;步骤2确定曲线起始点和曲线方向a:开曲线的确定方法将曲线的中心点与曲线弦上的中心点联接成直线,该直线与曲线弦构成两个夹 角,两个夹角相比角度小的夹角所对应的曲线一端的端点为起始点,曲线的方向为从起始 点至开曲线另一侧端点;若两个夹角相等,以任一夹角对应的一段曲线为开曲线重复上述方法,直至两个 夹角不相等,以相比小的夹角所对应的曲线一端的端点为起始点,曲线的方向为从起始点 至开曲线另一侧端点;b:闭曲线的确定方法在相距最长的两个拐角点之间做一直线,将闭曲线分割为两条开曲线;然后采用 上述开曲线的确定方法分别得到两条开曲线各自最小的夹角,定义两个夹角之间相比小的夹角为方向计算角;若两个最小的夹角相等,以任一夹角对应的一段曲线为开曲线重复上述方法,直 至两个夹角不相等,以相比小的夹角为方向计算角;方向计算角对应直线上的拐角点为起始点,曲线方向为从起始点至方向计算角另 一条边与曲线交点的曲线距离较短的方向;如果闭曲线拐角点中存在两对相距同为最长的拐角点,在两对拐角点之间做两条 直线,以两条直线为弦计算各自的方向计算角,方向计算角较小的作为真正的方向计算角 来计算曲线起始点和曲线方向;步骤3 以步骤2确定的曲线起始点为拐角点序列的起点,按照步骤2得到的曲线 方向对步骤1得到的曲线拐角点进行排序,得到拐角点序列;步骤4计算相邻拐角点之间的长度序列{dj -々h J+hO2 .其中(Xi,yi)为拐角点gi的坐标,(Xi_i,yj为拐角点^的坐标,屯为点gi到点 gH的欧式距离;gi和gH为经步骤3排序后的拐角点序列G = (gl, g2,g3,…,gn)中的拐 角点; 步骤5计算拐角点夹角序列 步骤6计算角度差异值 其中emi为曲线m夹角序列{emi}中的第i个角度值;为曲线1夹角序列 {e Xi}中的第i个角度值;m和1为进行匹配计算的两条曲线;步骤7计算长度差异值 其中dmi为曲线m长度序列{dj中第i点值;知为曲线1长度序列{dj中第i 点值A曲线m的长度序列和A = YA为曲线1的长度序列和; 步骤6 当角度差异值T < Tthre和长度差异值S < Sthre时,认为两个曲线相匹配, 否则认为不匹配;所述Tttoe为角度阈值取值为5 20 ;Sthre为长度阈值,取值为3 15。所述的曲线为宽度是一个像素的数字化二值曲线。有益效果本专利技术提出的,仅需要对拐角 点序列进行相似性判断,计算量小;二、对一条曲线,经过旋转、缩放和平移变换后,经过本 方法所得到的拐角点序列不变化,因此,本匹配方法不受曲线旋转、缩放和平移的影响。附图说明图1 本专利技术方法流程图图2 :Freeman八方向取值图3 :Freeman链码指向图4 开曲线起点计算示意5 开曲线多次角度计算示意6 闭曲线起点和曲线方向计算示意7 使用本方法完成曲线匹配例子(a)曲线模型(b)待匹配曲线(c)模型拐角点(d)与模型拐角点相匹配的拐角点具体实施例方式现结合实施例、附图对本专利技术作进一步描述步骤1 :Freeman 链码数字化的二值轮廓曲线可用八方向Freeman链码表示,八方向Freeman链码是相 邻两象素连线的八种可能的方向值,如图2所示。一条曲线被网格离散化后形成n条链,此 曲线链码可表示为lc(i)}n,每条链指向八个方向中的一个方向,c(i) G {0,1,…了丨,土为 象素的索引值,c(i)是由象素⑴指向象素(i+1)的方向链码,如图3所示。例如,如果当 前的象素是P(i),b7是曲线上的下一个象素,则p(i)值为7。本文提出的曲线匹配算法正 是基于这样的编码方式。步骤2 freeman链码序列拐角点的检测本专利技术采用基于差别累加值及三点链码差的Freeman链码曲线拐角点检测方法 检测拐角点,该方法首先计算曲线freeman链码的差别累加值,通过差别累加值提取出一 部分真正的拐角点和一些疑似的拐角点,然后计算疑似拐角点的三点链码差,若三点链码 差大于某一个给定的阈值点,则认为是真正的拐角点;最后对检测出的所有真正的拐角点 进行整理,得到该曲线的拐角点序列,在这个拐角点序列中,如果两个拐角点间距离很近, 距离小于3 8,则取三点链码差较大的一点作为真拐角点,将三点链码差较小的拐角点从 拐角点序列中删除。这种方法计算简单,准确有效,同时对于旋转、缩放、和平移的曲线所检 测出的拐角点一致,非常适用于本专利技术。步骤3 计算曲线起始点和曲线方向对于开曲线,假设P点是曲线:^的中点,这里的曲线的中点取曲线像素点的中心 值,Q是AB连线所形成的线段的中点,连接QP,QP和QA的夹角为a,QP和QB的夹角为3, 如果a < 3,则认为端点A为起始点,方向为从A至B;如果a > 3,则认为端点B是起 始点,方向为从B至A;如果a =日,则继续取曲线的中点PA1,曲线菇的中点PB1,计算 QPA1和QA的夹角a 计算PB1和QB的夹角3工,如果a工 < 日p则端点A为起始点,如果a > 3 i,则端点B为起始点;如果a工=旦工,则取@的中点PA2和@的中点PB2,继续进行 上述的角度比较,如此循环直到找到起始点为止。对于一些特定曲线,进行多次计算其夹角 仍然相同,则认为其是对称曲线,对于对称曲线,取任一个端点作为起始点都不影响计算结 果。图4为一个经过一次角度计算得到起始点的曲线,图5为经过两次角度计算得到起始6点的曲线。对于闭曲线,首先要计算拐角点序列中每两个拐角点之间的线段距离,将距离最 大的两个拐角点记为A、B,连接A、B,线段AB将闭曲线分割成为两条开曲线,计算两条开曲线的中点,分别本文档来自技高网...
【技术保护点】
一种数字图像中基于Freeman链码的曲线匹配方法,其特征在于:步骤1:对曲线进行八方向Freeman链码编码得到Freeman链码,采用“基于差别累加值及三点链码差的Freeman链码曲线拐角点检测方法”对曲线进行拐角点检测;步骤2确定曲线起始点和曲线方向:a:开曲线的确定方法:将曲线的中心点与曲线弦上的中心点联接成直线,该直线与曲线弦构成两个夹角,两个夹角相比角度小的夹角所对应的曲线一端的端点为起始点,曲线的方向为从起始点至开曲线另一侧端点;若两个夹角相等,以任一夹角对应曲线l长度序列{d↓[mi]}中第i点值;D↓[m]=*d↓[mi]为曲线m的长度序列和;D↓[l]=*d↓[li]为曲线l的长度序列和;步骤6:当角度差异值T<T↓[thre]和长度差异值S<S↓[thre]时,认为两个曲线相匹配,否则认为不匹配;所述T↓[thre]为角度阈值取值为5~20;S↓[thre]为长度阈值,取值为3~15。的一段曲线为开曲线重复上述方法,直至两个夹角不相等,以相比小的夹角所对应的曲线一端的端点为起始点,曲线的方向为从起始点至开曲线另一侧端点;b:闭曲线的确定方法:在相距最长的两个拐角点之间做一直线,将闭曲线分割为两条开曲线;然后采用上述开曲线的确定方法分别得到两条开曲线各自最小的夹角,定义两个夹角之间相比小的夹角为方向计算角;若两个最小的夹角相等,以任一夹角对应的一段曲线为开曲线重复上述方法,直至两个夹角不相等,以相比小的夹角为方向计算角;方向计算角对应直线上的拐角点为起始点,曲线方向为从起始点至方向计算角另一条边与曲线交点的曲线距离较短的方向;如果闭曲线拐角点中存在两对相距同为最长的拐角点,在两对拐角点之间做两条直线,以两条直线为弦计算各自的方向计算角,方向计算角较小的作为真正的方向计算角来计算曲线起始点和曲线方向;步骤3:以步骤2确定的曲线起始点为拐角点序列的起点,按照步骤2得到的曲线方向对步骤1得到的曲线拐角点进行排序,得到拐角点序列;步骤4计算相邻拐角点之间的长度序列{d↓[i]}:***;其中(x↓[i],y↓[i])为拐角点g↓[i]的坐标,(x↓[i-1],y↓[i-1])为拐角点g↓[i-1]的坐标,d↓[i]为点g↓[i]到点g↓[i-1]的欧式距离;g↓[i]和g↓[i-1]为经步骤3排序后的拐角点序列G=(g↓[1],g↓[2],g↓[3],…,g↓[n])中的拐角点;i=(2,3,4,...
【技术特征摘要】
【专利技术属性】
技术研发人员:郭雷,余博,赵天云,韩军伟,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:87[中国|西安]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。