一种基于边链码的图像目标边界表达方法转让专利

申请号 : CN201810667633.6

文献号 : CN109035351B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏小峰程承旗任伏虎陈波童晓冲濮国梁

申请人 : 北京大学

摘要 :

本发明公开了一种基于边链码的图像目标边界表达方法,是一种兼顾表达效率与链码长度的链码方法。该方法包括如下步骤:获取图像中待编码目标的外轮廓线,取待编码目标的外轮廓线上各边界像素,以任一边界像素作为起始像素,以起始像素开始,取当前边界像素在待编码目标的外轮廓线上的边数。若当前边界像素的轮廓前进方向与上一边界像素不一致则在边数前增加区分码作为当前边界像素的初始编码;否则直接将边数作为当前边界像素的初始编码。按设定的编码方向取下一边界像素,获取其初始编码,直至所有边界像素均获得初始编码。将待编码目标的外轮廓线上所有边界像素的初始编码组合为待编码目标的边链码,存储边链码作为所提取的图像目标边界。

权利要求 :

1.一种基于边链码的图像目标边界表达方法,其特征在于,该方法包括如下步骤:步骤一:对图像的待编码目标进行轮廓检测,获取所述待编码目标的外轮廓线,并获取所述待编码目标的外轮廓线上各边界像素,选取任一边界像素作为起始像素,以起始像素作为当前边界像素;并设定编码方向;

步骤二:取当前边界像素在所述待编码目标的外轮廓线上的边数;

判断当前边界像素的轮廓前进方向是否与上一边界像素一致,如果不一致则在所述边数前增加区分码作为当前边界像素的初始编码;否则直接将边数作为当前边界像素的初始编码;

所述上一边界像素为依照编码方向的当前边界像素的前一边界像素;

步骤三:按所述编码方向取下一边界像素作为当前边界像素,返回步骤二,直至所述待编码目标的外轮廓线上所有边界像素均获得初始编码后执行步骤四;

步骤四:将所述待编码目标的外轮廓线上所有边界像素的初始编码组合为所述待编码目标的边链码,存储所述边链码作为所提取的图像目标边界。

2.如权利要求1所述的方法,其特征在于,所述当前边界像素在所述待编码目标的外轮廓线上的边数为1、2、3和4;

所述区分码为0;

所述步骤四之前还包括:

将边界像素的初始编码中的4替代为33。

3.如权利要求1所述的方法,其特征在于,所述设定的编码方向为逆时针方向。

说明书 :

一种基于边链码的图像目标边界表达方法

技术领域

[0001] 本发明涉及图像分析技术领域,具体涉及一种基于边链码的图像目标边界表达方法。

背景技术

[0002] 链码是对目标离散边界的一种编码表示方法,通过记录边界上起始点之后各点的偏移方向来进行边界表达。目前,链码已被广泛应用于计算机视觉、模式识别、数字图像处理以及地理信息系统等各个领域。
[0003] 目前常见的链码方法包括Freeman链码、顶点链码(VCC,Vertex Chain Code)、直角三方向链码(3OT,Orthogonal three-direction chain code)和无符号曼哈顿链码(UMCC,Unsigned Manhattan Chain Code)。Freeman链码根据表达边界所采用的网格邻域不同,分为4方向和8方向链码两种,可分别由数字0~3和0~7表达;VCC通过依次记录在区域边界外轮廓线上的网格顶点数完成边界表达,码值包括1~3;3OT将3个相对变化的直角方向作为码值对边界进行表达,用0,1,2分别表示无方向变化、方向向前改变和向后回转;UMCC只使用0和1这2个码值记录边界沿x轴和y轴方向的前进方向,并利用4组00开头的标识符分别表示2个方向上的单调性变化情况。
[0004] 8方向Freeman链码的码值为8个,每个码值需要占用3bit空间,链码总长度较长。而VCC和3OT的平均码数为边界像素数的1.35倍,表达效率较低。另一方面,这2种链码均沿边界外轮廓线进行编码,码值对应于轮廓上的顶点,导致码值与边界像素并非一一对应,不利于链码的应用。
[0005] UMCC的码值数与链码长度相同,平均是边界像素数的2倍以上,与其它方法相比,链码长度最短而表达效率最低。因此,目前缺少一种兼顾表达效率与链码长度的链码方法。

发明内容

[0006] 有鉴于此,本发明提供了一种基于边链码的图像目标边界表达方法,是一种兼顾表达效率与链码长度的链码方法。
[0007] 为达到上述目的,本发明的技术方案为:
[0008] 步骤一:对图像的待编码目标进行轮廓检测,获取待编码目标的外轮廓线,并获取待编码目标的外轮廓线上各边界像素,选取任一边界像素作为起始像素,以起始像素作为当前边界像素;并设定编码方向。
[0009] 步骤二:取当前边界像素在待编码目标的外轮廓线上的边数。
[0010] 则判断当前边界像素的轮廓前进方向是否与上一边界像素一致,如果不一致则在边数前增加区分码作为当前边界像素的初始编码;否则直接将边数作为当前边界像素的初始编码。
[0011] 上一边界像素为依照编码方向的当前边界像素的前一边界像素。
[0012] 步骤三:按编码方向取下一边界像素作为当前边界像素,返回步骤二,直至待编码目标的外轮廓线上所有边界像素均获得初始编码后执行步骤四。
[0013] 步骤四:将待编码目标的外轮廓线上所有边界像素的初始编码组合为待编码目标的边链码,存储边链码作为所提取的图像目标边界。
[0014] 进一步地,当前边界像素在待编码目标的外轮廓线上的边数为1、2、3或4;区分码为0。
[0015] 步骤四之前还包括:
[0016] 将边界像素的初始编码中的4替代为33。
[0017] 进一步地,设定的编码方向为逆时针方向。
[0018] 有益效果:
[0019] 本发明提供了一种基于边链码的图像目标边界表达方法,通过依次记录目标外轮廓线上各边界像素的边数实现,并根据当前边界像素与前一边界像素的轮廓前进方向添加区分码,从而获得每个边界像素的初始编码,进一步,将待编码目标的外轮廓线上所有边界像素的初始编码组合,获得待编码目标的边链码,通过该边链码对目标边界进行表达,能以较少的数据量存储图形中的位置以及形状信息,减少了计算量、降低了信息冗余,因此是一种兼顾表达效率与链码长度的目标边界表达方法。

附图说明

[0020] 图1为本发明所提供的基于边链码的图像目标边界表达方法流程图;
[0021] 图2为角相邻时的边链码示意图;
[0022] 图3为边相邻时的边链码示意图;
[0023] 图4为本发明中码值33表示的闭合区域;
[0024] 图5为本发明中将码值4替换为组合33;
[0025] 图6为本发明实施例的编码结果。

具体实施方式

[0026] 下面结合附图并举实施例,对本发明进行详细描述。
[0027] 本发明提供了一种基于边链码的图像目标边界表达方法,具体流程如图1所示,该方法包括如下步骤:
[0028] 步骤一:对图像的待编码目标进行轮廓检测,获取待编码目标的外轮廓线,并获取待编码目标的外轮廓线上各边界像素,选取任一边界像素作为起始像素,以起始像素作为当前边界像素;并设定编码方向。
[0029] 步骤二:取当前边界像素在待编码目标的外轮廓线上的边数。
[0030] 目标的边界像素在外轮廓上的可能边数为1~4,不同的边数反映了边界像素与其它像素的相对位置关系,因此通过记录目标边界各像素在外轮廓上的边数即可完成对边界的表达。
[0031] 但仅用各边界像素在外轮廓上的边数作为该像素位置的码值会出现歧义,因为当前的边界像素的轮廓前进方向可能有两种情况:平行或垂直于前一边界像素的轮廓方向。
[0032] 为区分这两种情况,引入区分码,即:
[0033] 判断当前边界像素的轮廓前进方向是否与上一边界像素一致,如果不一致则在边数前增加区分码作为当前边界像素的初始编码;否则直接将边数作为当前边界像素的初始编码。若当前边界像素为起始像素,则将轮廓前进方向上最后一个像素作为该像素的前一边界像素进行以上判断。
[0034] 上一边界像素为依照编码方向的当前边界像素的前一边界像素。本发明实施例中,设定的编码方向为逆时针方向。
[0035] 本发明实施例中,当前边界像素在待编码目标的外轮廓线上的边数为1、2、3或4;区分码为0。并根据具体情况进行如下处理:1)如果当前边界像素的轮廓前进方向垂直于前一边界像素,则将0插入边数之前,共同作为当前边界像素的初始编码;否则2)直接将当前边界像素在外轮廓上的边数作为当前边界像素的初始编码。添加区分码后的初始编码示意图如图2和图3所示。
[0036] 步骤三:按编码方向取下一边界像素作为当前边界像素,返回步骤二,直至待编码目标的外轮廓线上所有边界像素均获得初始编码后执行步骤四;
[0037] 步骤四:将待编码目标的外轮廓线上所有边界像素的初始编码组合为待编码目标的边链码,存储边链码作为所提取的图像目标边界。
[0038] 将边界像素的初始编码中的4替代为33。
[0039] 边链码可由0~4五个码值表达,除区分码0之外,其它四个码值与边数一一对应。其中,由于码值4对应于边界上与其它像素角相邻的突出点,这在实际情况中出现频率非常小,因此将其替换为其它不会出现的码值组合,以提高压缩率。按照本发明的定义,组合33只可能用于表达图4这唯一一种情况,因此满足替换条件。将33用于表达边数为4的特殊情况,如图5所示。替换之后,本发明提出的边链码共有0~3这4个码值,每个码值仅占用2bit空间。
[0040] 图6展示了边链码的编码示例,以右上角的边界像素为起始点,则该目标的边链码编码结果为:
[0041] 32201112112112112032212212210122121012133212210201210211121112111211。
[0042] 本发明所提供的一种基于边链码的图像目标边界表达方法,通过依次记录目标外轮廓线上各边界像素的边数实现,并根据当前边界像素与前一边界像素的轮廓前进方向添加区分码,从而获得每个边界像素的初始编码,进一步,将待编码目标的外轮廓线上所有边界像素的初始编码组合,获得待编码目标的边链码,通过该边链码对目标边界进行表达,能以较少的数据量存储图形中的位置以及形状信息,减少了计算量、降低了信息冗余,因此是一种兼顾表达效率与链码长度的目标边界表达方法。
[0043] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。