CN117611839A - 一种图像处理中基于子四边形构造计算凸包的方法 - Google Patents

一种图像处理中基于子四边形构造计算凸包的方法 Download PDF

Info

Publication number
CN117611839A
CN117611839A CN202311681678.6A CN202311681678A CN117611839A CN 117611839 A CN117611839 A CN 117611839A CN 202311681678 A CN202311681678 A CN 202311681678A CN 117611839 A CN117611839 A CN 117611839A
Authority
CN
China
Prior art keywords
points
sub
convex
point
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311681678.6A
Other languages
English (en)
Inventor
吴建凰
张可欣
周翔
姜军委
巩少峰
刘青峰
张妮妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Chishine Optoelectronics Technology Co ltd
Original Assignee
Xi'an Chishine Optoelectronics Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Chishine Optoelectronics Technology Co ltd filed Critical Xi'an Chishine Optoelectronics Technology Co ltd
Priority to CN202311681678.6A priority Critical patent/CN117611839A/zh
Publication of CN117611839A publication Critical patent/CN117611839A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

一种图像处理中基于子四边形构造计算凸包的方法,在图像中提取轮廓的角点;寻找最上、最下、最左、最右四个点,形成最大四边形;四边形内部的所有点去除,并将剩余的点分成四个区域,区域内的点再次形成新的子四边形,再将子四边形内的点从凸包中剔除;将四个区域的子四边形合入到最大四边形中,得到凸多边形;迭代递归,合并凸多边形外的点;所有区域内的点就得到了物体在图像中的最小凸包围盒,使用此包围盒即可将所需物体图像抠出或者进行其他图像处理;本发明基于迭代查找子四边形的方式快速构造凸包,能够应用于图像处理中的快速抠图、粗略计算投影面积和描述物体边界,降低了算法的时间复杂度。

Description

一种图像处理中基于子四边形构造计算凸包的方法
技术领域
本发明属于计算机视觉中的图像处理技术领域,尤其涉及一种图像处理中基于子四边形构造计算凸包的方法。
背景技术
在计算机视觉中图像处理中,在平面上给出一系列的点,寻找若干个点依次连线得到一个多边形,使得任意两点的连线都在这个多边形以内或边缘上。这个多边形就是这些点的凸包。凸包检测可以应用在物体识别、手势识别及边界检测等领域,例如识别图像中手势的外包围盒、判断图像中两个物体是否有重合,具体为判断两个物体的凸包是否有交集、粗略估算物体的投影面积等。
目前,图像处理中计算凸包的方法逐点扫描的有Javaris卷包裹法、Graham算法、Andrew算法和快速凸包法。在这些传统算法上逐渐演变出了快速凸包法。其中,卷包裹法为迄今为止最为原始和暴力的算法,具有的时间复杂度为o(n2)。
Graham算法利用栈构造凸包,并且通过尚未进入凸包的点与当前点连线的极角作为排序标准筛选下一步进入凸包的点。在Javaris算法的基础上,该算法的时间复杂度降低为o(nlogn)。
Andrew算法在Graham算法的基础上,将排序的标准由极角改为笛卡尔坐标。具体地,首先对点集中的点以o(nlogn)的时间复杂度进行排序,再以o(n)的时间复杂度对点进行扫描。
Andrew算法虽然具有较高的效率和鲁棒性,但是在实现的过程中还是要对点集中的每个点都进行扫描。因此,快速凸包法旨在解决扫描时需要对点集中所有点都扫描和判断的问题,只需扫描部分点就可以构造出凸包。
目前出现的快速凸包算法都采用了分治法的思想。具体地:首先在点集中找出分布在最上侧、最左侧、最下侧和最右侧的四组点A、B、C和D。其次,位于四边形ABCD内的点不参与扫描,因为这些点肯定为凸包内的点。再次,四边形ABCD将点集中的剩余点分为位于该四边形的左上、左下、右上和右下四个区域I、II、III和IV。然后,按照同一个规则在这四个区域内分别进行递归,对最初的四边形进行扩充。
以区域I为例,迄今为止的快速凸包法在针对四个区域进行递归时所用的规则如下所述:
(a)首先在剩余的点集中寻找距离线段AB最远的点A1。其次,ΔAA1B内的点也不参与扫描。再次,分别在线段AA1的左侧和线段A1B的上侧寻找距离AA1和A1B最远的点,并根据这两个点又可以和线段AA1和A1B分别构造两个三角形,让这两组三角形内的点也不参与扫描;直到左上区域内没有可以扩展的区域为止。
(b)利用区域内每个点的坐标进行排序,使用逐点扫描的思路利用区域内的点对四边形ABCD进行扩展。
通过上述分析,现有的快速计算凸包法具有的缺陷为:对于规则(a),每次得通过计算距离来不断地扩展凸包。对于规则(b),在每个区域内扩展凸包时还是得对该区域中的每个点进行判断和扫描。
发明内容
针对现有的快速凸包算法存在的问题,本发明的目的在于提供一种图像处理中基于子四边形构造计算凸包的方法,基于迭代查找子四边形的方式快速构造凸包,能够应用于图像处理中的快速抠图、粗略计算投影面积和描述物体边界,降低了算法的时间复杂度。
为了达到上述目的,本发明的技术方案为:
一种图像处理中基于子四边形构造计算凸包的方法,包括以下步骤:
步骤(一)、在图像中提取轮廓的角点,得到离散的若干个像素点组合的角点集合;
步骤(二)、在角点集合中寻找最上、最下、最左、最右四个点,分别命名为A、B、C、D,这四个点形成最大四边形ABCD;
步骤(三)、将这四边形内部的所有点去除,并将剩余的点分成四部分,分别是位于四边形ABCD外侧的左上方区域I、右上方区域II、右下方区域III和左下方区域IV;
步骤(四)、对I、II、III和IV区域内的点分别按照步骤(二)的方式,得到新的子四边形,再将子四边形内的点从凸包中剔除;
步骤(五)、将I、II、III和IV区域的子四边形合入到最大四边形ABCD中;得到凸多边形;
步骤(六)、迭代递归,合并凸多边形外的点;
步骤(七)、经过以上六步得到的多边形不一定是凸多边形,需要将该多边形上的拐点去掉,依次将多边形上的顶点取出一个,然后判断取出的点是否在剩余点形成的多边形内,如果在多边形内,则该点是拐点;如果不在,则该点是凸包上的点,所有区域内的点就得到了物体在图像中的最小凸包围盒,使用此包围盒即可将所需物体图像抠出或者进行其他图像处理。
所述步骤(五)中子四边形合入到最大四边形ABCD中,以区域I内的子四边A1B1C1D1为例,具体方法如下:
(5.1)找子四边A1B1C1D1最临近的一条边AC;
(5.2)、以A为中心,计算∠A1AC,∠B1AC,∠C1AC,∠D1AC的角度,根据式(1)取最大角度的对应点A1
∠A1AC=max{∠A1AC,∠B1AC,∠C1AC,∠D1AC} (1)
(5.3)、以C为中心,∠A1CA、∠B1CA、∠C1CA、∠D1CA中取值最大的对应点C1
∠C1CA=max{∠A1CA,∠B1CA,∠C1CA,∠D1CA} (2)
(5.4)、扩展凸包为ABCDA1C1,即凸多边形ABCDA1C1
(5.5)将区域I的剩余点分为两部分,凸包ABCDA1C1内的点和凸包ABCDA1C1外的点,并将凸包ABCDA1C1内的点去除。
所述步骤(六)中迭代递归合并凸多边形外的点,以区域I为例,合并凸多边形ABCDA1C1外的点;具体为:
(6.1)、在凸多边形ABCDA1C1的外侧,待合并的点只能位于以A1C1为斜边的左上方的直角三角形区域内;
(6.2)、对区域内的点寻找边界点A2、B2、C2和D2并构造子四边形A2B2C2D2
(6.3)、将子四边形A2B2C2D2与凸多边形ABCDA1C1进行合并。
当I、II、III和IV区域内的点不足四个时,根据式(1)和式(2)的夹角最大原则与上一轮的凸多边形进行合并。
当I、II、III和IV区域内待合并的点只有三个时,依然构成一个子凸包,则将这三个点构成的子凸包按照式(1)和式(2)的夹角最大原则与上一轮迭代后的凸多边形进行合并。
当I、II、III和IV区域内待合并的点只有两个无法构成凸包,将这两个点根据式(1)和式(2)的夹角最大原则与上一轮的凸多边形进行合并。
当I、II、III和IV区域内最边缘的角点与其他区域最边缘的角点重合时,则待合并的子四边形等价为一个三角形、一条线段或者孤立点,按照式(1)和式(2)的夹角最大准则与上一轮迭代的凸包进行合并即可。
本发明具有的优点如下:
1、本发明在每次扩展凸包的时候无需计算剩余待合并的点到凸包边界的距离,大大降低了算法的时间复杂度。
2、本发明在四边形ABCD的四周区域扩展凸包的时候选择在子区域内不断地构造子四边形,将子四边形与扩展后的凸包进行合并,在整个过程中,子四边形内的点和合并区域内的点都可以从凸包集合中剔除;另外在对每个区域进行凸包扩展时不再逐点地扩展凸包,降低算法的时间复杂度。
综上,本发明基于迭代查找子四边形的方式快速构造凸包,能够应用于图像处理中的快速抠图、粗略计算投影面积和描述物体边界等,相较于现有的凸包计算方法,降低了算法的时间复杂度。
附图说明
图1(a)是寻找点集中的四组边界点并构造四边形ABCD。
图1(b)是构造子四边形A1B1C1D1并剔除该四边形内的点。
图1(c)是将子四边形A1B1C1D1通过连接CC1和A1A和四边形ABCD进行合并。
图1(d)是第一轮迭代结束时的状态和第二轮迭代起始时的状态。
图1(e)是合并四边形所依据的夹角规则。
图1(f)是有关线段CC1的左侧和A1A的上侧没有需要合并的点的分析图解。
图2(a)是第二轮迭代过程中构造子四边形A2B2c2D2
图2(b)是第二轮迭代过程中将子四边形A2B2C2D2与第一轮迭代结束后扩展后的凸包进行合并。
图2(c)第二轮迭代结束时的状态和第三轮迭代起始时的状态。
图3(a)是子四边形A2B2C2D2并入四边形A1B1C1D1后在点C1处出现右拐现象。
图3(b)~图3(d)是在拓展的凸包中剔除凸包内的点C1的步骤图。
图4(a)~图4(c)是针对图1(a)右上侧的褐色区域进行凸包扩展的步骤图。
图5(a)~图5(c)是针对图1(a)右下侧的绿色区域进行凸包扩展的步骤图。
图6(a)~图6(g)是针对图1(a)左下侧的红色区域进行凸包扩展的步骤图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种图像处理中基于子四边形构造计算凸包的方法,包括以下步骤:
步骤(一)、在图像中提取轮廓的角点,得到离散的若干个像素点组合的角点集合。
步骤(二)、在角点集合中寻找最上、最下、最左、最右四个点,分别命名为A、B、C、D,这四个点可以是同名点,例如最上和最右为同一个点。这四个点形成最大四边形ABCD,如图1(a)所示。
步骤(三)、将这四边形内部的所有点去除,并将剩余的点分成四部分,分别是位于四边形ABCD外侧的左上方区域I、右上方区域II、右下方区域III和左下方区域IV。
步骤(四)、对I、II、III和IV区域内的点分别按照步骤(二)的方式,得到新的子四边形。例如区域I内的子四边形为四边形A1B1C1D1,如图1(b)所示。与步骤(三)相同,再将子四边形A1B1C1D1内的点从凸包中剔除。
步骤(五)、将I、II、III和IV区域的子四边形合入到最大四边形ABCD中;
所述的子四边形合入到最大四边形ABCD中,以区域I内的子四边A1B1C1D1为例,具体方法如下:
(5.1)找子四边A1B1C1D1最临近的一条边AC。
(5.2)、以A为中心,计算∠A1AC,∠B1AC,∠C1AC,∠D1AC的角度,根据式(1)取最大角度的对应点A1
∠A1AC=max{∠A1AC,∠B1AC,∠C1AC,∠D1AC} (1)
(5.3)、以C为中心,∠A1CA、∠B1CA、∠C1CA、∠D1CA中取值最大的对应点C1,如图1(e)所示。
∠C1CA=max{∠A1CA,∠B1CA,∠C1CA,∠D1CA} (2)
(5.4)、扩展凸包为ABCDA1C1,即凸多边形ABCDA1C1;如图1(c)所示。
(5.5)将区域I的剩余点分为两部分,凸包ABCDA1C1内的点和凸包ABCDA1C1外的点,并将凸包ABCDA1C1内的点去除。
步骤(六)、迭代递归,以区域I为例,合并凸多边形ABCDA1C1外的点;具体为:
(6.1)、在凸多边形ABCDA1C1的外侧,待合并的点只能位于以A1C1为斜边的左上方的直角三角形区域内,如图1(f)或者图1(d)所示。
(6.2)、对图1(d)阴影区域内的点寻找边界点A2、B2、C2和D2并构造子四边形A2B2C2D2,如图2(a)所示。
(6.3)、根据步骤(五)和图2(b)将子四边形A2B2c2D2与凸多边形ABCDA1C1进行合并,合并后的结果如图2(c)所示。
步骤(七)、经过以上六步得到的多边形不一定是凸多边形,需要将该多边形上的拐点去掉,依次将多边形上的顶点取出一个,然后判断取出的点是否在剩余点形成的多边形内,如果在多边形内,则该点是拐点;如果不在,则该点是凸包上的点。
如图3(a)中,顶点C1就是一个拐点。按照图3(b)和图3(c)所示的步骤删除顶点C1,得到的凸多边形如图3(d)所示。
同理,在区域II、III和IV中合并凸多边形的方法同区域I。在区域I、II、III和IV中通过以上七个步骤合并凸多边形,就得到了物体在图像中的最小凸包围盒,使用此包围盒即可将所需物体图像抠出或者进行其他图像处理。
以上是针对区域I进行的详细描述,下面旨在以区域II、III和IV为例,针对边界点重合的几种特殊情况进行说明。
情况一:区域II内只能找到三个边界点,可以构成一个子凸包。例如图4(a)中,最左侧的点C1和最下侧的点B1重合。
针对情况一:只需将图4(a)中待合并的四边形看作顶点B1和C1重合的四边形A1B1C1D1,按照步骤(四)和步骤(五)对图4(a)所示的点集进行合并即可,如图4(a)到图4(c)所示。
情况二:区域III内待合并的点只有两个,无法构成凸包。
针对情况二,待合并的四边形A1B1C1D1等价于最右侧的点D1与最上侧的点A1重合,最左侧C1和最下侧的点B1重合。在该情况下,四边形A1B1C1D1等价于线段A1C1或者线段B1D1。根据A1C1的端点各自与DB的端点的连线与线段DB所形成的夹角大小作为准则将角点A1和角点C1合并进凸包中,具体的步骤为图5(a)到图5(c)。
情况三:区域IV内最左侧的角点C1与最上侧的角点A1重合,最下侧的角点B1和最右侧的角点D1重合。
针对情况三,四边形A1B1C1D1等价于线段A1B1或者线段C1D1,如图6(a)所示。根据如下步骤1、2和3对情况三进行处理:
1.通过构造线段A1C和B1B将四边形A1B1C1D1与四边形ABCD进行合并,在区域IV内形成四边形CA1B1B,如图6(b)所示。
2.在以A1B1为斜边并且位于A1B1下方的直角三角形中,通过分别连接角点A2、A1和A2、B1的方式将角点A2扩展进四边形CA1B1B中。
通过合并角点A2,在区域IV内形成五边形CA1A2B1B,如图6(d)所示。
3.根据步骤(七)去除五边形CA1A2B1B上的拐点,如图6(e)~图6(g)所示。
图6(e)表示检测到点B1为五边形CA1A2B1B上的拐点;图6(f)表示通过连接角点A2和B将拐点B1删除;图6(g)表示删除了拐点B1后区域IV内的凸四边形CA1A2B。

Claims (7)

1.一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,包括以下步骤:
步骤(一)、在图像中提取轮廓的角点,得到离散的若干个像素点组合的角点集合;
步骤(二)、在角点集合中寻找最上、最下、最左、最右四个点,分别命名为A、B、C、D,这四个点形成最大四边形ABCD;
步骤(三)、将这四边形内部的所有点去除,并将剩余的点分成四部分,分别是位于四边形ABCD外侧的左上方区域I、右上方区域II、右下方区域III和左下方区域IV;
步骤(四)、对I、II、III和IV区域内的点分别按照步骤(二)的方式,得到新的子四边形,再将子四边形内的点从凸包中剔除;
步骤(五)、将I、II、III和IV区域的子四边形合入到最大四边形ABCD中;得到凸多边形;
步骤(六)、迭代递归,合并凸多边形外的点;
步骤(七)、经过以上六步得到的多边形不一定是凸多边形,需要将该多边形上的拐点去掉,依次将多边形上的顶点取出一个,然后判断取出的点是否在剩余点形成的多边形内,如果在多边形内,则该点是拐点;如果不在,则该点是凸包上的点,所有区域内的点就得到了物体在图像中的最小凸包围盒,使用此包围盒即可将所需物体图像抠出或者进行其他图像处理。
2.根据权利要求1所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,所述步骤(五)中子四边形合入到最大四边形ABCD中,以区域I内的子四边A1B1C1D1为例,具体方法如下:
(5.1)找子四边A1B1C1D1最临近的一条边AC;
(5.2)、以A为中心,计算∠A1AC,∠B1AC,∠C1AC,∠D1AC的角度,根据式(1)取最大角度的对应点A1
∠A1AC=max{∠A1AC,∠B1AC,∠C1AC,∠D1AC} (1)
(5.3)、以C为中心,∠A1CA、∠B1CA、∠C1CA、∠D1CA中取值最大的对应点C1
∠C1CA=max{∠A1CA,∠B1CA,∠C1CA,∠D1CA} (2)
(5.4)、扩展凸包为ABCDA1C1,即凸多边形ABCDA1C1
(5.5)将区域I的剩余点分为两部分,凸包ABCDA1C1内的点和凸包ABCDA1C1外的点,并将凸包ABCDA1C1内的点去除。
3.根据权利要求1所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,所述步骤(六)中迭代递归合并凸多边形外的点,以区域I为例,合并凸多边形ABCDA1C1外的点;具体为:
(6.1)、在凸多边形ABCDA1C1的外侧,待合并的点只能位于以A1C1为斜边的左上方的直角三角形区域内;
(6.2)、对区域内的点寻找边界点A2、B2、C2和D2并构造子四边形A2B2C2D2
(6.3)、将子四边形A2B2C2D2与凸多边形ABCDA1C1进行合并。
4.根据权利要求2所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,当I、II、III和IV区域内的点不足四个时,根据式(1)和式(2)的夹角最大原则与上一轮的凸多边形进行合并。
5.根据权利要求4所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,
当I、II、III和IV区域内待合并的点只有三个时,依然构成一个子凸包,则将这三个点构成的子凸包按照式(1)和式(2)的夹角最大原则与上一轮迭代后的凸多边形进行合并。
6.根据权利要求4所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,当I、II、III和IV区域内待合并的点只有两个无法构成凸包,将这两个点根据式(1)和式(2)的夹角最大原则与上一轮的凸多边形进行合并。
7.根据权利要求4所述的一种图像处理中基于子四边形构造计算凸包的方法,其特征在于,当I、II、III和IV区域内最边缘的角点与其他区域最边缘的角点重合时,则待合并的子四边形等价为一个三角形、一条线段或者孤立点,按照式(1)和式(2)的夹角最大准则与上一轮迭代的凸包进行合并即可。
CN202311681678.6A 2023-12-08 2023-12-08 一种图像处理中基于子四边形构造计算凸包的方法 Pending CN117611839A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311681678.6A CN117611839A (zh) 2023-12-08 2023-12-08 一种图像处理中基于子四边形构造计算凸包的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311681678.6A CN117611839A (zh) 2023-12-08 2023-12-08 一种图像处理中基于子四边形构造计算凸包的方法

Publications (1)

Publication Number Publication Date
CN117611839A true CN117611839A (zh) 2024-02-27

Family

ID=89959704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311681678.6A Pending CN117611839A (zh) 2023-12-08 2023-12-08 一种图像处理中基于子四边形构造计算凸包的方法

Country Status (1)

Country Link
CN (1) CN117611839A (zh)

Similar Documents

Publication Publication Date Title
CN110717489B (zh) Osd的文字区域的识别方法、装置及存储介质
CN107123164B (zh) 保持锐利特征的三维重建方法及系统
WO2021017361A1 (zh) 一种基于边缘和梯度特征的模板匹配算法
JP4924165B2 (ja) 形状比較装置および形状比較方法
CN110197153B (zh) 一种户型图中墙体自动识别方法
CN105205781A (zh) 输电线路航拍图像拼接方法
WO2020107326A1 (zh) 车道线检测方法、设备、计算机可读存储介质
CN114529925B (zh) 一种全线表表格结构识别方法
CN111951197B (zh) 一种基于结构光的点云分割方法
CN105844248B (zh) 人脸检测方法和装置
CN1873647A (zh) Cad方法、cad系统以及存储其cad程序的程序存储介质
WO2015092904A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP5055115B2 (ja) 識別方法、コンピュータプログラム及びコンピュータプログラム装置
JP4944007B2 (ja) 輪郭抽出装置と輪郭抽出方法及び輪郭抽出プログラム
WO2022227486A1 (zh) 一种基于人工智能的遥感田埂界线检测方法、系统、计算机设备及存储介质
CN113506216A (zh) 一种全景图像拼接的快速缝合线寻优方法
JP5197205B2 (ja) 輪郭抽出装置と輪郭抽出方法及び輪郭抽出プログラム
CN111126418A (zh) 一种基于平面透视投影的倾斜影像匹配方法
CN108460738A (zh) 基于b样条的医学图像倾斜校正方法
JP4576513B2 (ja) 部分モデルを自動的に画定するための方法
CN114782645A (zh) 虚拟数字人制作方法、相关设备及可读存储介质
CN117611839A (zh) 一种图像处理中基于子四边形构造计算凸包的方法
CN111192280B (zh) 一种基于局部特征的视盘边缘检测方法
JP2003141567A (ja) 3次元都市モデル生成装置及び3次元都市モデル生成方法
CN115147433A (zh) 点云配准方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination