一种基于正三角形网格链码的二维目标边界表达方法与流程

文档序号:16214408发布日期:2018-12-08 08:10阅读:530来源:国知局
一种基于正三角形网格链码的二维目标边界表达方法与流程

本发明涉及图像分析技术领域,具体涉及一种基于正三角形网格链码的二维目标边界表达方法。

背景技术

链码是对目标离散边界的一种编码表示方法,通过记录边界上起始点之后各点的偏移方向来进行边界表达。目前,链码已被广泛应用于计算机视觉、模式识别、数字图像处理以及地理信息系统等各个领域。

目前常见的链码方法包括freeman链码、顶点链码(vcc,vertexchaincode)、直角三方向链码(3ot,orthogonalthree-directionchaincode)和无符号曼哈顿链码(umcc,unsignedmanhattanchaincode)。以上列举的各种链码方法绝大部分是针对常见的四边形栅格,而对连续图像的离散化还可以按照正三角形或六边形进行采样。这三种模式均有固定的规格并能够无缝地覆盖2-d平面。而正三角形网格在有效覆盖面积和覆盖效率两项指标上均优于正四边形和六边形,更适用于2d及3d的几何表达。然而,目前只有顶点链码能够直接用于三角形网格。顶点链码通过依次记录在区域边界外轮廓线上的边界网格顶点数完成目标边界的表达。对于正三角形网格上的目标,其边界网格的顶点数可能为1~5,因此该链码利用1~5五个码值实现对正三角形网格的目标边界描述。

典型的链码方法,如freeman链码、直角三方向链码以及无符号曼哈顿链码并未考虑六边形网格的情况,无法应用于六边形网格中的目标边界表达。

顶点链码能够应用于正三角形网格,但根据其在外轮廓上的顶点数不同,每个边界网格可能需要1~5个码值进行表达,每个码值需要占用3bit空间,表达效率与压缩性能均较低,并且与边界网格无法一一对应。另外,顶点链码对于正三角形网格中角相邻的特殊情况存在不唯一性,即同一码值对应多种情况,这也是需要克服的一个缺陷。

因此目前尚未有一种准确完备的链码方法能够应用于正三角形网格。



技术实现要素:

有鉴于此,本发明提供了一种基于正三角形网格链码的二维目标边界表达方法,能够实现针对二维目标的离散化正三角形网格的目标边界表达,其表达效率高、压缩率高,并且码值与边界网格一一对应,适用性强。

为达到上述目的,本发明的技术方案为:

步骤一:采用正三角形网格对二维目标进行离散化,对离散化后的二维目标进行轮廓检测,获取二维目标的外轮廓线,获取二维目标的外轮廓线上各正三角形边界网格,选取任一边界网格作为当前边界网格;并设定编码方向。

步骤二:取当前边界网格在二维目标的外轮廓线上的边数为1、2或3。

当边数为1时,当前边界网格与上一边界网格之间的内部网格的数量分别为0、1、2、3时,当前边界网格的初始编码分别为0、1、2、3;内部网格为处于二维目标的外轮廓线内部的网格;上一边界网格为当前边界网格在编码方向上的前一边界网格。

当边数为2时,当前边界网格与上一边界网格之间的内部网格的数量分别为0、1、2、3时,当前边界网格的初始编码分别为4、5、6、7。

当边数为3时,当前边界网格与上一边界网格之间的外部网格的数量分别为1、2、3时,当前边界网格的初始编码分别为441、442、443;外部网格为处于二维目标的外轮廓线外部的网格。

步骤三:按编码方向取下一边界六边形网格作为当前边界网格,返回步骤二,直至二维目标的外轮廓线上所有边界网格均获得初始编码后,执行步骤四。

步骤四:将二维目标的外轮廓线上所有边界网格的初始编码组合为二维目标的链码,采用链码作为所提取的二维目标边界。

有益效果:

本发明统计并记录目标外轮廓上的各边界网格的边数以及与前一边界网格的夹角,分别对不同的边数与夹角进行组合编码,实现边界网格上的目标边界表达。该方法有效解决了现有的正三角形网格链码方法(vcc)在角相邻情况下的编码不唯一问题,表达效率与压缩率均优于vcc,并且码值与边界网格一一对应,适用性也更强。

附图说明

图1为本发明提供的一种基于正三角形网格链码的二维目标边界表达方法流程图;

图2为边数为1时,三角形网格的目标边界上的可能情况示意图;

图3为边数为2时,三角形网格的目标边界上的可能情况示意图;

图4为边数为3时,三角形网格的目标边界上的可能情况示意图;

图5为本发明实施例中组合44对应的三角形网格;

图6为本发明实施例编码示例图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

本发明提供了一种基于正三角形网格链码的二维目标边界表达方法,其流程如图1所示,该方法包括如下步骤:

步骤一:采用正三角形网格对二维目标进行离散化,对离散化后的二维目标进行轮廓检测,获取二维目标的外轮廓线,获取二维目标的外轮廓线上各正三角形的边界网格,选取任一边界网格作为当前边界网格;并设定编码方向;

步骤二:取当前边界网格在二维目标的外轮廓线上的边数为1、2或3;

正三角形网格上边界网格可能边数为1~3,而边数相同,其轮廓前进方向可能不同,直观反映为与上一边界网格轮廓前进方向的夹角不同。当边数为1时,根据夹角的不同,共分为如图2所示的四种情况。其中,图2中斜线标识出的网格为当前边界网格与上一边界网格之间的内部网格。

因此,当边数为1时,当前边界网格与上一边界网格之间的内部网格的数量分别为0、1、2、3时,当前边界网格的初始编码分别为0、1、2、3;内部网格为处于二维目标的外轮廓线内部的网格;上一边界网格为当前边界网格在编码方向上的前一边界网格。

类似的,当边数为2时,可为如图3所示的四种情况,其中,图3中斜线标识出的网格为当前边界网格与上一边界网格之间的内部网格。当边数为2时,当前边界网格与上一边界网格之间的外部网格的数量分别为0、1、2、3时,当前边界网格的初始编码分别为4、5、6、7。

当边数为3时,对应的是较特殊的角相邻情况,此时一共有三种不同的情况,如图4所示。其中,图4中斜线标识出的网格为当前边界网格与上一边界网格之间的外部网格。外部网格为处于二维目标的外轮廓线外部的网格。

对于边数为3的特殊情况,由于这三种情况在实际应用中出现概率较小,因此采用冗余的码值组合进行替换。注意到码值组合44表示两个三角形网格的自闭合,实际中并不存在(如图5所示)。因此可将44作为边数为3时的区分码,分别将图3中三种情况由441,442和443三个组合表达。即当边数为3时,当前边界网格与上一边界网格之间的内部网格的数量分别为1、2、3时,当前边界网格的初始编码分别为441、442、443。

步骤三:按编码方向取下一边界六边形网格作为当前边界网格,返回步骤二,直至二维目标的外轮廓线上所有边界网格均获得初始编码后,执行步骤四。

步骤四:将二维目标的外轮廓线上所有边界网格的初始编码组合为二维目标的链码,采用链码作为所提取的二维目标边界。

本发明中针对二维目标的各边界网格的初始编码实例如图6所示。

本发明统计并记录目标外轮廓上的各边界网格的边数以及与前一边界网格的夹角,分别对不同的边数与夹角进行组合编码,实现边界网格上的目标边界表达。该方法有效解决了角相邻情况下的编码不唯一问题,表达效率与压缩率均优于现有的正三角形网格链码方法(vcc),并且码值与边界网格一一对应,适用性也更强。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1