掌桥专利:专业的专利平台
掌桥专利
首页

图形共边检测方法、装置、设备及计算机可读介质

文献发布时间:2023-06-19 09:27:35


图形共边检测方法、装置、设备及计算机可读介质

技术领域

本申请涉及图像识别技术领域,尤其涉及一种图形共边检测方法、装置、设备及计算机可读介质。

背景技术

随着人工智能研究的成熟及深入,大数据成为人工智能研究的基础,大数据分析需要通过大量标注数据来引导模型进行学习,尤其是在图像识别中,标注数据需要将图像中的不同物体、不同对象进行标注。数据标注的结果将直接影响模型的学习效果,因此,准确标注出不同物体的轮廓尤其是在物体具有重合部分的情况下准确标注出不同物体的轮廓是目前亟待解决的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请提供了一种图形共边检测方法、装置、设备及计算机可读介质,以解决图形共边结果不准确的技术问题。

根据本申请实施例的一个方面,本申请提供了一种图形共边检测方法,包括:获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;将第一图形与第二图形进行目标布尔运算;根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。

可选地,将第一图形与第二图形进行目标布尔运算包括:确定第一图形与第二图形的相对补集,得到第一线段集合,运算结果包括第一线段集合;和/或,确定第一图形与第二图形的差集,得到第二线段集合,运算结果包括第二线段集合。

可选地,确定第一图形与第二图形的相对补集,得到第一线段集合包括:依次确定第一图形的各条边与第二图形相交的第一交点,第一交点在第一图形上;将位于第二图形同一条边上相邻的第一交点沿第二图形的边相连,并利用所连线段分割第一图形;将被分割后的第一图形中与第二图形重合的部分丢弃;在第一图形的剩余每个部分中,连接相邻的两点,得到多个线段,第一图形的点包括第一图形的顶点和第一交点;将第一图形各个部分中的线段作为第一线段集合。

可选地,确定第一图形与第二图形的差集,得到第二线段集合包括:依次确定第二图形的各条边与第一图形相交的第二交点,第二交点在第二图形上;连接第二图形的边缘上相邻的两点,得到多个线段,第二图形中的点包括第二图形的顶点和第二交点;将第二图形上的线段作为第二线段集合。

可选地,将第一图形与第二图形进行目标布尔运算还包括:确定第一图形与第二图形是否存在交集;在第一图形与第二图形不存在交集的情况下,从参照集合中重新选取其他参照图形作为新的第二图形。

可选地,根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘包括:利用第一线段集合确定第一共边图形,并利用第二线段集合确定第二共边图形,第一共边图形为第一图形与第二图形共边后得到的,第二共边图形为第二图形插入与第一图形相交的交点后得到的;利用第一共边图形和第二共边图形确定第一图形和第二图形之间的第一边缘,第一边缘为第一共边图形与第二共边图形的重合部分。

可选地,利用第一线段集合确定第一共边图形包括:将第一线段集合中的线段按照第一共有点进行拼接,得到第一闭合路径,第一共有点包括第一图形的顶点和第一交点;将第一闭合路径作为第一共边图形。

可选地,利用第二线段集合确定第二共边图形包括:将第二线段集合中的线段按照第二共有点进行拼接,得到第二闭合路径,第二共有点包括第二图形的顶点和第二交点;将第二闭合路径作为第二共边图形。

可选的,利用第一共边图形和第二共边图形确定第一图形和第二图形之间的第一边缘包括:将第一共边图形和第二共边图形的共有线段作为第一边缘。

可选地,得到第一闭合路径之前,该方法还包括:确定具有第一共有点的两条相邻线段的斜率;在两条相邻线段的斜率相同的情况下,保留两条相邻线段中长度最长的一条线段。

可选地,根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘之后,该方法还包括:按照第一边缘分割第一图形,得到第三图形;利用第三图形与参照集合中的各个参照图形进行目标布尔运算得到的运算结果调整第三图形,直至第三图形与参照集合中的参照图形没有交集的情况下,完成图形分割。

可选地,根据所述目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘之后,该方法还包括:对完成图形分割之后得到的第三图形的各个部分进行标注。

根据本申请实施例的另一方面,本申请提供了一种图形共边检测装置,包括:图形获取模块,用于获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;布尔运算模块,用于将第一图形与第二图形进行目标布尔运算;共边检测模块,用于根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。

根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。

根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。

本申请实施例提供的上述技术方案与相关技术相比具有如下优点:

本申请技术方案为获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;将第一图形与第二图形进行目标布尔运算;根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。本申请通过对图形进行布尔运算,来判断两个图形是否存在关系并改变需要共边的图形以达到在图像中物体与物体之间交合部分的精确标注,不仅提升了图形共边结果的准确率,还简化了图形共边检测的流程。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本申请实施例提供的一种可选的图形共边检测方法硬件环境示意图;

图2为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图3为根据本申请实施例提供的一种可选的第一线段集合确定流程图;

图4为根据本申请实施例提供的一种可选的图形示意图;

图5为根据本申请实施例提供的一种可选的图形相对补集示意图;

图6为根据本申请实施例提供的一种可选的第二线段集合确定流程图;

图7为根据本申请实施例提供的一种可选的图形差集示意图;

图8为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图9为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图10为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图11为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图12为根据本申请实施例提供的一种可选的图形示意图;

图13为根据本申请实施例提供的一种可选的图形布尔运算结果示意图;

图14为根据本申请实施例提供的一种可选的图形共边检测方法流程图;

图15为根据本申请实施例提供的一种可选的图形共边检测装置框图;

图16为本申请实施例提供的一种可选的电子设备结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

在实现本申请实施例的过程中,发明人发现,可将物体具有重合部分的情况下准确标注出不同物体的轮廓这一问题转化为图形共边问题。

对于图形共边问题,相关技术中可以采用多种方式:①、可以判断点是否在图形内来识别图形轮廓,例如A图形和B图形进行共边,可以依次判断组成A图形的每个点在不在B图形中,在B图形中的点可以丢弃,此时虽然可以得到B图形的轮廓,但是却得到了不闭合的A图形,真正的共边还是没有找到。判断点是否在图形内来识别图形轮廓可以利用射线法和矢量叉积等方法,判断点是否在图形内,获取不在图形内的点组成图形。该方法难以将共边的图形分割成多个图形且不能根据图形的分割路径增加点,从而进一步分割。②、还可以通过图形裁剪,在二维平面将一个图形在指定范围以外的部分去除掉。该方法会导致被共边图形信息丢失。③、还可以采用图像处理工具来识别图形轮廓边缘,但是图形处理工具在使用时不仅需要下载、安装、调试等,而且如Photoshop等工具中,用户手动绘制图形后,图形处理工具还无法直接获取用户所需的边缘轮廓数据,如坐标点信息等,还需要进行转换等步骤,处理流程复杂。

为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种图形共边检测方法的实施例。

图形共边是利用计算机视觉技术及图形布尔运算判断两个图形是否存在关系并改变需要共边的图形以达到在图像中物体与物体之间交合部分的精确标注。可以直接通过浏览器实现图像的标注。本申请技术方案可以应用于数据标注系统,图像识别及人工智能等领域。

可选地,在本申请实施例中,上述图形共边检测方法可以应用于如图1所示的由终端101和服务器102所构成的硬件环境中。如图1所示,服务器102通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库103,用于为服务器102提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。

本申请实施例中的一种图形共边检测方法可以由服务器102来执行,还可以是由服务器102和终端101共同执行,如图2所示,该方法可以包括以下步骤:

步骤S201,获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形。

本申请实施例中,首先可以获取需要共边的图形,作为上述第一图形,获取已共边的图形作为参照图形,即上述第二图形。参照图形可以是已经确定轮廓的图形。第一图形和第二图形同在一张图像上,可以检测第一图形和第二图形之间是否存在交合部分,从而后续可以将交合部分的共边检测、标注出来。

步骤S202,将第一图形与第二图形进行目标布尔运算。

本申请实施例中,可以通过对第一图形和第二图形进行不同的布尔运算如取交集、差集、相对补集,从而将第一图形和第二图形重叠的部分确定出来。

步骤S203,根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。

本申请实施例中,将第一图形和第二图形重叠的部分确定出来之后,可以根据重叠的部分确定第一图形和第二图形的共同边缘,进而可以利用该共同边缘对需要共边的图形进行分割,以实现对有重叠部分的图形进行精确标注。

采用本申请技术方案,通过对图形进行布尔运算,来判断两个图形是否存在关系并改变需要共边的图形以达到在图像中物体与物体之间交合部分的精确标注,不仅提升了图形共边结果的准确率,还简化了图形共边检测的流程。

可选地,将第一图形与第二图形进行目标布尔运算包括:

确定第一图形与第二图形的相对补集,得到第一线段集合,运算结果包括第一线段集合;和/或,确定第一图形与第二图形的差集,得到第二线段集合,运算结果包括第二线段集合。

可选地,如图3所示,确定第一图形与第二图形的相对补集,得到第一线段集合可以包括以下步骤:

步骤S301,依次确定第一图形的各条边与第二图形相交的第一交点,第一交点在第一图形上;

步骤S302,将位于第二图形同一条边上相邻的第一交点沿第二图形的边相连,并利用所连线段分割第一图形;

步骤S303,将被分割后的第一图形中与第二图形重合的部分丢弃;

步骤S304,在第一图形的剩余每个部分中,连接相邻的两点,得到多个线段,第一图形的点包括第一图形的顶点和第一交点;

步骤S305,将第一图形各个部分中的线段作为第一线段集合。

本申请实施例中,以图4所示的图形0123和图形ABCD为例进行说明,图形0123为待共边的图形,即上述第一图形,图形ABCD为参照图形,即上述第二图形。

对图形ABCD和图形0123求相对补集,结果如图5所示,图形0123被分割成两部分,即0374和1265。求相对补集的目的是分割图形0123(即根据共边分割第一图形)。

计算过程如下:

首先可以取0和1这两个点组成的线段和图形ABCD各条线段判断有没有交点,其中,与AD有交点,与DC无交点,与CB有交点,与BA无交点,此时会得到两个交点4、5。接着取1和2两点组成的线段再进行一次和图形ABCD各条线段判断有没有交点的过程,结果是都没有交点。依此进行,最终得到了四个点4、5、6、7。其中,点5、6在第二图形[B,C]边上,点4、7在第二图形[A,D]边上,沿第二图形的边连接点5、6及4、7,从而线段[5,6]、[4,7]分割第一图形。由于第一图形中的4567部分与第二图形重合,故丢弃图形4567,第一图形0123被分割成三部分,丢弃图形4567后剩余两部分,将这两部分中每部分相邻的点连接起来。

对于数字所表示的图形,此时由[0,3]、[0,4]、[1,2]、[1,5]、[2,6]、[3,7]这些线段组成。对于字母所表示的图形,多了两条线段[5,6],[4,7]。合并这些线段即可得到第一线段集合:[[0,3]、[0,4]、[1,2]、[1,5]、[2,6]、[3,7]、[5,6]、[4,7]]。

可选地,如图6所示,确定第一图形与第二图形的差集,得到第二线段集合可以包括以下步骤:

步骤S601,依次确定第二图形的各条边与第一图形相交的第二交点,第二交点在第二图形上;

步骤S602,连接第二图形的边缘上相邻的两点,得到多个线段,第二图形中的点包括第二图形的顶点和第二交点;

步骤S603,将第二图形上的线段作为第二线段集合。

本申请实施例中,以图4所示的图形0123和图形ABCD为例进行说明,图形0123为待共边的图形,即上述第一图形,图形ABCD为参照图形,即上述第二图形。

对图形ABCD和图形0123求差集,结果如图7所示,图形ABCD多出4个点E、F、G、H。求差集的目的是给图形ABCD添加由于与图形0123共边产生的交点。

计算过程如下:

首先可以取A和B这两个点组成的线段和图形0123各条线段判断有没有交点,其中,AB与图形0123各条线段都没有交点,再取B和C组成的线段和图形0123各条线段判断有没有交点,其中,与01有交点,与12无交点,与23有交点,与30无交点,此时会得到两个交点F、G。依此进行,最终得到了四个点E、F、G、H,这四个点可以和求补集得到的交点4、5、6、7相匹配,连接第二图形上所有点中相邻的点。

对于字母所表示的图形,此时由[A,B]、[B,F]、[F,G]、[G,C]、[C,D]、[D,H]、[H,E]、[E,A]这些线段组成,这些线段即可作为第二线段集合。

可选地,将第一图形与第二图形进行目标布尔运算还包括:确定第一图形与第二图形是否存在交集;在第一图形与第二图形不存在交集的情况下,从参照集合中重新选取其他参照图形作为新的第二图形。

本申请实施例中,若第一图形和第二图形不存在交集,则说明第一图形和第二图形没有重叠部分,不会产生共同边缘。因此可以重新选择参照图形,即可以从图像中确定出其他已经共边的图形作为新的第二图形,二者有交集,则可以进行布尔运算,从而确定共同边缘。

可选地,如图8所示,根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘可以包括以下步骤:

步骤S801,利用第一线段集合确定第一共边图形,并利用第二线段集合确定第二共边图形,第一共边图形为第一图形与第二图形共边后得到的,第二共边图形为第二图形插入与第一图形相交的交点后得到的;

步骤S802,利用第一共边图形和第二共边图形确定第一图形和第二图形之间的第一边缘,第一边缘为第一共边图形与第二共边图形的重合部分。

可选地,如图9所示,步骤S801中利用第一线段集合确定第一共边图形可以包括以下步骤:

步骤S901,将第一线段集合中的线段按照第一共有点进行拼接,得到第一闭合路径,第一共有点包括第一图形的顶点和第一交点;

步骤S902,将第一闭合路径作为第一共边图形。

本申请实施例中,以图5所示图形为例,可以根据合并后的线段(即第一线段集合[[0,3]、[0,4]、[1,2]、[1,5]、[2,6]、[3,7]、[5,6]、[4,7]])确定数字表示的图形所分割的图形(即第一共边图形),可以将存在共有点的两条线段合并为一个图形,最终将各条线段围成的闭合路径作为一个第一共边图形。

可选地,在对各点标号后,还可以按照标号来确定共有点,进而拼接存在共有点的线段,具体操作可以是:首先取[0,3]中0为第一个点,3为第二个点,用点3在[0,4]、[1,2]、[1,5]、[2,6]、[3,7]、[5,6]、[4,7]线段中寻找包含点3的线段,得到[3,7],此时取7为第三个点。排除寻找过的线段[3,7],用点7再去[0,4]、[1,2]、[1,5]、[2,6]、[5,6]、[4,7]中寻找包含点7的线段,得到[4,7],取点4为第四个点,继续用点4去寻找包含点4的线段,得到[0,4],此时点0是已经取过的第一个点,说明线段闭合,得到图形0374。此时剩余的线段为[1,2]、[1,5]、[2,6]、[5,6]。再用上述方法得到图形1265。图形0374和图形1265即为第一共边图形。

可选地,如图10所示,步骤S801中利用第二线段集合确定第二共边图形可以包括以下步骤:

步骤S1001,将第二线段集合中的线段按照第二共有点进行拼接,得到第二闭合路径,第二共有点包括第二图形的顶点和第二交点;

步骤S1002,将第二闭合路径作为第二共边图形。

本申请实施例中,以图7所示图形为例,可以根据合并后的线段(即第二线段集合[[A,B]、[B,F]、[F,G]、[G,C]、[C,D]、[D,H]、[H,E]、[E,A]])确定字母表示的图形在插入交点后得到的图形(即第二共边图形),可以将存在共有点的两条线段合并为一个图形,最终将各条线段围成的闭合路径作为第二共边图形。

如图7所示,可以根据共有点依次连接上述线段,得到第二共边图形ABFGCDHE。

可选的,步骤S802利用第一共边图形和第二共边图形确定第一图形和第二图形之间的第一边缘可以包括:将第一共边图形和第二共边图形的共有线段作为第一边缘。

本申请实施例中,以图7所示图形为例,在得到第一共边图形0374和1265及第二图形ABFGCDHE之后,可以根据共有边确定第一边缘,如边[4,7]和[E,H]重合,属于共有边,[5,6]和[F,G]重合,属于共有边,因此[4,7]([E,H])和[5,6]([F,G])均为第一图形与第二图形的共边,即第一边缘。

本申请实施例中,在确定第一共边图形时,还需要根据具有共有点的相邻两条线段的斜率来确定是否需要合并线段。下面结合图11所示步骤进行说明。

可选地,得到第一闭合路径之前,该方法还可以包括以下步骤:

步骤S1101,确定具有第一共有点的两条相邻线段的斜率;

步骤S1102,在两条相邻线段的斜率相同的情况下,保留两条相邻线段中长度最长的一条线段。

在图形路径较复杂的情况下,可能存在图形路径重合,则相应的具有共有点的相邻两条线段斜率相同,此时可以选择其中路径长度最长的一条线段作为合并的线段。

本申请实施例中,以图5所示的图形为例,在得到第一线段集合,需要确定第一共边图形时,首先得到线段[0,3]、[4,7]、[0,4]、[3,7]、[1,2]、[1,5]、[2,6]、[5,6]。线段[0,3]和[3,7]具有共有点3,二者斜率不相同,不合并,接着判断线段[3,7]和[4,7],二者具有共有点7且斜率不相同,不合并,依次进行判断并连接具有共有点的相邻线段,最终得到图形0374和图形1265。

采用本申请技术方案,可以根据布尔运算结果确定第一图形和第二图形的共同边缘。

本申请实施例中,以图12及图13所示图形对确定第一线段集合、第二线段集合、第一共边图形及第二共边图形再进行说明。

本申请实施例中,图12所示的图形0123为待共边的图形,即上述第一图形,椭圆图形A和椭圆图形B为参照图形,即上述第二图形。

对图形0123和图形A、B求相对补集,结果如图13所示,图形0123被分割,得到图形156374。求相对补集的目的是分割图形0123(即根据共边分割第一图形)。

计算过程如下:

首先可以取0和1这两个点组成的线段和图形A、图形B判断有没有交点,其中,与图形A有交点,与图形B无交点,此时会得到交点4。接着取1和2两点组成的线段再进行一次和图形A、图形B判断有没有交点的过程,得到交点5。依此进行,最终得到了四个点4、5、6、7。其中,点5、6在图形B的边上,点4、7在图形A的边上,沿图形A和图形B的边连接点5、6及4、7,从而弧线段[5,6]、[4,7]分割第一图形。由于第一图形中的047部分与图形A重合,256部分与图形B重合,故丢弃图形047和图形256,第一图形0123被分割成三部分,丢弃图形047和图形256后剩余一部分,将这一部分中相邻的点连接起来。

对于数字所表示的图形,此时由[1,5]、[6,3]、[3,7]、[4,1]这些线段和弧线段组成。对于字母所表示的图形,多了两条弧线段[5,6],[4,7]。合并这些线段即可得到第一线段集合:[[1,5]、[6,3]、[3,7]、[4,1]、[5,6]、[4,7]]。

将第一线段集合中存在共有点的两条线段合并为一个图形,最终将各条线段围成的闭合路径156374作为第一共边图形。

对图形0123和图形A、B求差集,结果如图13所示,图形A多出两个点C、D,图形B多出两个点E、F。求差集可以给图形A和图形B添加由于与图形0123共边产生的交点。

计算过程如下:

首先可以取图形A和图形0123各条线段判断有没有交点,其中,图形A与01、03有交点,得到交点C、D,再取图形B和图形0123各条线段判断有没有交点,其中,图形B与12、23有交点,得到交点E、F。这四个交点可以和求补集得到的交点4、5、6、7相匹配,连接第二图形上所有点中相邻的点。

对于字母所表示的图形,此时图形A由弧线段AC、CD、AD组成,图形B由弧线段BE、BF、EF组成,这些弧线段即可作为第二线段集合。

将第二线段集合中存在共有点的两条弧线段合并为一个图形,最终将各条弧线段围成的闭合路径ACD和BEF作为第二共边图形。

上述第一共边图形和第二共边图形中,弧线段[4,7]和CD重合,[5,6]和EF重合,因此弧线段[4,7]、[5,6]即为第一图形与第二图形的第一边缘。

可选地,如图14所示,根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘之后,该方法还包括:

步骤S1401,按照第一边缘分割第一图形,得到第三图形;

步骤S1402,利用第三图形与参照集合中的各个参照图形进行目标布尔运算得到的运算结果调整第三图形,直至第三图形与参照集合中的参照图形没有交集的情况下,完成图形分割。

本申请实施例中,确定共同边缘后即可对待共边图形进行分割,并且可以利用分割后的图形与其他参照图形进行布尔运算,从而确定出该待共边图形与其所在图像中其他图形的共同边缘,最终实现整幅图像中对图形的精确分割。

可选地,完成图形分割之后,该方法还包括:

对完成图形分割之后得到的第三图形的各个部分进行标注。

本申请实施例中,精确分割之后还可以对分割后的图形进行标注,从而快捷精准的标注图片中的物体。

本申请技术方案为获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;将第一图形与第二图形进行目标布尔运算;根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。本申请通过对图形进行布尔运算,来判断两个图形是否存在关系并改变需要共边的图形以达到在图像中物体与物体之间交合部分的精确标注,不仅提升了图形共边结果的准确率,还简化了图形共边检测的流程。

根据本申请实施例的又一方面,如图15所示,提供了一种图形共边检测装置,包括:图形获取模块1501,用于获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;布尔运算模块1502,用于将第一图形与第二图形进行目标布尔运算;共边检测模块1503,用于根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。

需要说明的是,该实施例中的图形获取模块1501可以用于执行本申请实施例中的步骤S201,该实施例中的布尔运算模块1502可以用于执行本申请实施例中的步骤S202,该实施例中的共边检测模块1503可以用于执行本申请实施例中的步骤S203。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

可选地,该布尔运算模块,具体用于:确定第一图形与第二图形的相对补集,得到第一线段集合,运算结果包括第一线段集合;和/或,确定第一图形与第二图形的差集,得到第二线段集合,运算结果包括第二线段集合。

可选地,该布尔运算模块,还包括补集计算单元,用于:依次确定第一图形的各条边与第二图形相交的第一交点,第一交点在第一图形上;将位于第二图形同一条边上相邻的第一交点沿第二图形的边相连,并利用所连线段分割第一图形;将被分割后的第一图形中与第二图形重合的部分丢弃;在第一图形的剩余每个部分中,连接相邻的两点,得到多个线段,第一图形的点包括第一图形的顶点和第一交点;将第一图形各个部分中的线段作为第一线段集合。

可选地,该布尔运算模块,还包括差集计算单元,用于:依次确定第二图形的各条边与第一图形相交的第二交点,第二交点在第二图形上;连接第二图形的边缘上相邻的两点,得到多个线段,第二图形中的点包括第二图形的顶点和第二交点;将第二图形上的线段作为第二线段集合。

可选地,该布尔运算模块,还用于:确定第一图形与第二图形是否存在交集;在第一图形与第二图形不存在交集的情况下,从参照集合中重新选取其他参照图形作为新的第二图形。

可选地,该共边检测模块,具体用于:利用第一线段集合确定第一共边图形,并利用第二线段集合确定第二共边图形,第一共边图形为第一图形与第二图形共边后得到的,第二共边图形为第二图形插入与第一图形相交的交点后得到的;利用第一共边图形和第二共边图形确定第一图形和第二图形之间的第一边缘,第一边缘为第一共边图形与第二共边图形的重合部分。

可选地,该共边检测模块,还包括第一共边图形确定单元,用于:将第一线段集合中的线段按照第一共有点进行拼接,得到第一闭合路径,第一共有点包括第一图形的顶点和第一交点;将第一闭合路径作为第一共边图形。

可选地,该共边检测模块,还包括第二共边图形确定单元,用于:将第二线段集合中的线段按照第二共有点进行拼接,得到第二闭合路径,第二共有点包括第二图形的顶点和第二交点;将第二闭合路径作为第二共边图形。

可选地,该共边检测模块,还用于:将第一共边图形和第二共边图形的共有线段作为第一边缘。

可选地,该第一共边图形确定单元,还用于:在得到第一闭合路径之前,确定具有第一共有点的两条相邻线段的斜率;在两条相邻线段的斜率相同的情况下,保留两条相邻线段中长度最长的一条线段。

可选地,该图形共边检测装置,还包括图形分割模块,用于:按照第一边缘分割第一图形,得到第三图形;利用第三图形与参照集合中的各个参照图形进行目标布尔运算得到的运算结果调整第三图形,直至第三图形与参照集合中的参照图形没有交集的情况下,完成图形分割。

可选地,该图形共边检测装置,还包括图形标注模块,用于:对完成图形分割之后得到的第三图形的各个部分进行标注。

根据本申请实施例的另一方面,本申请提供了一种电子设备,如图16所示,包括存储器1601、处理器1602、通信接口1603及通信总线1604,存储器1601中存储有可在处理器1602上运行的计算机程序,存储器1601、处理器1602通过通信接口1603和通信总线1604进行通信,处理器1602执行计算机程序时实现上述方法的步骤。

上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。

可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:

获取第一图形和第二图形,第一图形为待共边图形,第二图形为参照图形;

将第一图形与第二图形进行目标布尔运算;

根据目标布尔运算的运算结果确定第一图形和第二图形之间的第一边缘,第一边缘为第一图形和第二图形的共同边缘。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 图形共边检测方法、装置、设备及计算机可读介质
  • 图形实时绘制方法、装置、设备及计算机可读介质
技术分类

06120112171013