一种确定预选区域边界路径的方法和系统的制作方法

文档序号:6341132阅读:229来源:国知局
专利名称:一种确定预选区域边界路径的方法和系统的制作方法
技术领域
本发明涉及一种确定预选区域边界路径的方法和系统。
背景技术
在图像处理时,常常需要对图像中的文字、图案、线条等对象进行重新描绘;对于图案复杂精致美观图像,也经常需要将指定轮廓描绘出来,再进行美化操作,例如上色、做专色等。传统依靠人工细致的描画生成各种边界路径既耗费大量的人力与时间,也很难满足现代生产对精度越来越高的要求,而随着图像处理技术的不断的发展与成熟,自动化程度较高的边界路径检测是未来技术的发展趋势。目前,交互式边界路径检测方法主要有Wiotoshop中的钢笔工具、磁性套索、魔棒工具等及金昌Ex9000中的撇丝工具。其中Photoshop方法中钢笔工具操作都是由手工依赖性强,效率较低。磁性套索、魔棒工具选择颜色时边缘有锯齿,不光滑,且手工依赖性强。 金昌Ex9000的撇丝工具撇丝形状单一,适应性较差。类似自动边界路径检测需要标定起始、结束点位置,从起始点向下搜寻与当前路径方向或其他特征相似度较高的路径,直到寻找到结束点为止,一些算法设计了若发现不能到达结束点,则适当回退的中间处理机制,但仍不能解决局部极值问题,检测效果较差。总体而言,现有技术中的路径检测方法存在效率较低以及检测效果较差的问题, 对于该问题,目前尚未提出有效解决方案。

发明内容
本发明的主要目的是提供一种确定预选区域边界路径的方法和系统,用以解决现有技术中路径检测方法存在效率较低以及检测效果较差的问题。为解决上述问题,根据本发明的一个方面,提供了一种确定预选区域边界路径的方法。本发明的确定预选区域边界路径的方法包括步骤A 根据预设的原则从预选区域内选取多条边界,所述原则包括边界与所述预选区域的骨架线交叉的次数尽可能多,并且所述边界与所述骨架线的距离尽可能近;步骤B 根据选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。进一步地,步骤A之前还包括确定所述预选区域内存在的边界,并且确定所述预选区域的骨架线。进一步地,步骤A包括从所述预选区域的骨架线的相邻两个节点之间的区域内选取多条边界;步骤B之后,所述方法还包括确定已得出的所述路径覆盖的预选区域占所述预选区域总面积的比例,若该比例小于预设值则重复执行步骤A和步骤B,并且每次执行步骤A时相邻两个节点之间的区域不与上次的重复;若该比例不小于所述预设值则连接所述预选区域边界路径。进一步地,连接所述预选区域边界路径之后,还包括将所述预选区域边界路径拟合为贝塞尔曲线。进一步地,步骤B包括计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为0 ;以所述两个虚拟端点为起点和终点,使用狄克斯屈拉 (Dijkstra)算法计算所述多条边界中的路径。为解决上述问题,根据本发明的一个方面,提供了一种确定预选区域边界路径的系统。本发明的确定预选区域边界路径的系统包括边界选择模块,用于根据预设的原则从预选区域内选取多条边界,所述原则包括边界与所述预选区域的骨架线交叉的次数尽可能多,并且所述边界与所述骨架线的距离尽可能近;路径计算模块,用于根据所述边界选择模块选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。进一步地,该系统还包括边界检测模块,用于确定所述预选区域内存在的边界;找骨架模块,用于确定所述预选区域的骨架线。进一步地,所述边界选择模块还用于从预选区域的骨架线的相邻两个节点之间的区域内选取多条边界;并且所述系统还包括执行控制模块,用于确定已得出的所述路径覆盖的预选区域占所述预选区域总面积的比例,若该比例小于预设值则控制所述边界选择模块和路径计算模块进行计算,以及若所述比例不小于所述预设值则连接所述预选区域边界路径;所述边界选择模块和路径计算模块还用于在所述执行控制模块的控制下进行计算。进一步地,该系统还包括拟合模块,用于将所述预选区域边界路径拟合为贝塞尔曲线。进一步地,所述路径计算模块还用于计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为0 ;以所述两个虚拟端点为起点和终点,使用狄克斯屈拉(Dijkstra)算法计算所述多条边界中的路径。根据本发明的技术方案,先确定预选区域中的多条边界,再根据边界通过最优路径算法得出路径,从而能够得到较佳的路径检测效果。并且本实施例中,通过引入虚拟端点还有助于获得尽可能全面反映区域形状的路径。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的确定区域内边界路径的方法的主要步骤的示意图;图2是根据本发明实施例的确定区域内边界路径的系统的主要模块的示意图。
具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。图1是根据本发明实施例的确定区域内边界路径的方法的主要步骤的示意图,如图1所示,该方法主要包括如下步骤步骤A 根据预设的原则从预选区域内选取多条边界。这里的原则具体可以是边界与预选区域的骨架线交叉的次数尽可能多,并且边界与骨架线的距离尽可能近;步骤B 根据选取的多条边界,采用最优路径的算法得出步骤A中选取的多条边界中的路径。上述的预选区域可以是由用户在图像上进行相关的操作例如涂抹操作而确定的区域,也可以是其他方式给出的区域。上述步骤A与步骤B可以由计算机程序实现,并且是从多条边界中采用最优路径的算法得到路径以避免落入局部极值,因此路径检测的效率较高并且效果较佳。在步骤A之前,可以用边界检测的方法确定预选区域内存在的边界,并且可以用找骨架的算法确定该预选区域的骨架线。在完成一遍步骤A和步骤B之后,可以确定当前处理的一个预选区域中的一部分路径或全部路径。在确定了一部分路径的情况下需要继续确定路径的其他部分。为此,步骤A中具体可以是从当前的预选区域的骨架线的相邻两个节点之间的区域内选取多条边界,在步骤B之后,确定已得出的路径覆盖的预选区域占所述预选区域总面积的比例,若该比例小于预设值则重复执行步骤A和步骤B,并且每次执行步骤A时相邻两个节点之间的区域不与上次的重复;若该比例不小于预设值则连接预选区域边界路径。可以看出这种方式省略了区域的某些次要的局部,例如条状区域中间的小面积凸起区域,从而有助于提高处理速度以及得到反映区域整体形状的路径。在连接预选区域边界路径之后还可以将预选区域边界路径拟合为贝塞尔曲线。因为存在多条边界从而有多个边界起点,因此为了避免直接选择边界起点对于路径最优化的影响,因此在步骤B中确定路径时,可以计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为0 ;然后以所述两个虚拟端点为起点和终点计算所述多条边界中的路径,具体可以采用,使用狄克斯屈拉(Dijkstra)算法进行计算。对于这里的多条边界,一种情况是指在骨架线端点之间边界可能有断裂,所以有多条连接为两个断点之间的一条路径,另一种情况是组边界中的多条边界,即多条边界是指有交叉点的存在相连的边界组。图2是根据本发明实施例的确定区域内边界路径的系统的主要模块的示意图,如图2所示,确定区域内边界路径的系统20主要包括如下模块边界选择模块,用于根据预设的原则从预选区域内选取多条边界;路径计算模块,用于根据边界选择模块选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。图2中的系统20还可以包括如下模块(图中未示出)边界检测模块,用于确定预选区域内存在的边界;找骨架模块,用于确定所述预选区域的骨架线。边界选择模块还可用于从预选区域的骨架线的相邻两个节点之间的区域内选取多条边界;这样,系统20还可包括执行控制模块(图中未示出),用于确定已得出的路径覆盖的预选区域占预选区域总面积的比例,若该比例小于预设值则控制边界选择模块和路径计算模块进行计算,以及若该比例不小于该预设值则连接预选区域边界路径;并且边界选择模块和路径计算模块还可用于在执行控制模块的控制下进行计算。图2中的系统20还可包括拟合模块(图中未示出),用于将预选区域边界路径拟合为贝塞尔曲线。
图2中的系统20中的路径计算模块还可用于计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为0 ;以所述两个虚拟端点为起点和终点,使用狄克斯屈拉(Dijkstra)算法计算所述多条边界中的路径。通过以上描述可以看出,本实施例中先确定预选区域中的多条边界,再根据边界通过最优路径算法得出路径,从而能够得到较佳的路径检测效果。并且本实施例中,通过引入虚拟端点还有助于获得尽可能全面反映区域形状的路径。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种确定区域内边界路径的方法,其特征在于,包括步骤A 根据预设的原则从预选区域内选取多条边界,所述原则包括边界与所述预选区域的骨架线交叉的次数尽可能多,并且所述边界与所述骨架线的距离尽可能近;步骤B:根据选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。
2.根据权利要求1所述的方法,其特征在于,步骤A之前还包括确定所述预选区域内存在的边界,并且确定所述预选区域的骨架线。
3.根据权利要求1所述的方法,其特征在于,步骤A包括从所述预选区域的骨架线的相邻两个节点之间的区域内选取多条边界;步骤B之后,所述方法还包括确定已得出的所述路径覆盖的预选区域占所述预选区域总面积的比例,若该比例小于预设值则重复执行步骤A和步骤B,并且每次执行步骤A时相邻两个节点之间的区域不与上次的重复;若该比例不小于所述预设值则连接所述预选区域边界路径。
4.根据权利要求3所述的方法,其特征在于,连接所述预选区域边界路径之后,还包括将所述预选区域边界路径拟合为贝塞尔曲线。
5.根据权利要求1至4中任一项所述的方法,其特征在于,步骤B包括计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为 0 ;以所述两个虚拟端点为起点和终点,使用狄克斯屈拉(Dijkstra)算法计算所述多条边界中的路径。
6.一种确定预选区域边界路径的系统,其特征在于,包括边界选择模块,用于根据预设的原则从预选区域内选取多条边界,所述原则包括边界与所述预选区域的骨架线交叉的次数尽可能多,并且所述边界与所述骨架线的距离尽可能近;路径计算模块,用于根据所述边界选择模块选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。
7.根据权利要求6所述的系统,其特征在于,还包括边界检测模块,用于确定所述预选区域内存在的边界;找骨架模块,用于确定所述预选区域的骨架线。
8.根据权利要求6所述的系统,其特征在于,所述边界选择模块还用于从预选区域的骨架线的相邻两个节点之间的区域内选取多条边界;并且所述系统还包括执行控制模块,用于确定已得出的所述路径覆盖的预选区域占所述预选区域总面积的比例,若该比例小于预设值则控制所述边界选择模块和路径计算模块进行计算,以及若所述比例不小于所述预设值则连接所述预选区域边界路径;所述边界选择模块和路径计算模块还用于在所述执行控制模块的控制下进行计算。
9.根据权利要求8所述的系统,其特征在于,还包括拟合模块,用于将所述预选区域边界路径拟合为贝塞尔曲线。
10.根据权利要求6至9中任一项所述的系统,其特征在于,所述路径计算模块还用于计算骨架线两个端点预设半径内的可能起点集与终点集,设置与所述起点集与终点集相连接的两个虚拟端点,并设置相应虚拟端点与所述起点集与终点集中相应的点的距离为0 ; 以所述两个虚拟端点为起点和终点,使用狄克斯屈拉(Dijkstra)算法计算所述多条边界中的路径。
全文摘要
本发明公开了一种确定预选区域边界路径的方法和系统,用以解决现有技术中路径检测方法存在效率较低以及检测效果较差的问题。该方法包括步骤A根据预设的原则从预选区域内选取多条边界,所述原则包括边界与所述预选区域的骨架线交叉的次数尽可能多,并且所述边界与所述骨架线的距离尽可能近;步骤B根据选取的多条边界,采用最优路径的算法得出所述多条边界中的路径。采用本发明的技术方案能够得到较佳的路径检测效果。
文档编号G06T7/00GK102542559SQ20101062040
公开日2012年7月4日 申请日期2010年12月31日 优先权日2010年12月31日
发明者张宏志, 李平立, 薛涛 申请人:北京大学, 方正国际软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1