CN111145293A - 用于重建户型图轮廓的方法、装置及电子设备 - Google Patents
用于重建户型图轮廓的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111145293A CN111145293A CN201911311579.2A CN201911311579A CN111145293A CN 111145293 A CN111145293 A CN 111145293A CN 201911311579 A CN201911311579 A CN 201911311579A CN 111145293 A CN111145293 A CN 111145293A
- Authority
- CN
- China
- Prior art keywords
- point
- unordered
- points
- starting point
- initial starting
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/64—Analysis of geometric attributes of convexity or concavity
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
公开了一种用于重建户型图轮廓的方法、装置及电子设备。该方法包括以下步骤:确定与户型图轮廓相对应的无序点集中的凹点集和凸点集;在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标;基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点;将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点,并且重复该步骤直至满足停止条件;以及基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。该方法能够基于无序点集快速重建户型图轮廓。
Description
技术领域
本公开涉及数据处理技术领域,具体地,涉及一种用于重建户型图轮廓的方法、装置及电子设备。
背景技术
在家装设计领域中,设计人员在对户型进行家装设计前,需要获得户型图轮廓。目前,一般采用人工测量的方式来获得户型图轮廓。这种人工测量的方式耗时长、效率低。
发明内容
本公开的至少一实施例提供一种用于重建户型图轮廓的方法。该方法包括以下步骤:确定与户型图轮廓相对应的无序点集中的凹点集和凸点集;在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标;基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点;将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点,并且重复该步骤直至满足停止条件;以及基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。
例如,在一些实施方式中,基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓包括:基于无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在该任意一个无序点之后紧接着被查找到的无序点进行连接以形成户型图轮廓。
例如,在一些实施方式中,该户型图轮廓为直角多边形。
例如,在一些实施方式中,初始起始点为户型图轮廓中的边角点,边角点为凸点集中的在第一方向或第二方向上处于边缘位置的凸点,第一方向与第二方向相互垂直。
例如,在一些实施方式中,基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点包括:基于初始起始点的坐标确定查找方向;在查找方向上在无序点集中查找初始起始点的相邻点。
例如,在一些实施方式中,在查找方向上在无序点集中查找初始起始点的相邻点包括:在查找方向上在特定查找集中查找初始起始点的相邻点,其中特定查找集包括无序点集中尚未被查找到的所有无序点。
例如,在一些实施方式中,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点包括:基于更新起始点的坐标确定更新查找方向,在更新查找方向上在特定查找集中查找更新起始点的相邻点。
例如,在一些实施方式中,停止条件包括以下中的至少一个:在更新查找方向上在特定查找集中未查找到无序点、最后查找到的无序点是初始起始点、或无序点集中的所有无序点都被查找到。
例如,在一些实施方式中,基于无序点集中的各个无序点被查找到的顺序,形成户型图轮廓,包括:判断最后查找到的无序点是否是初始起始点并且是否无序点集中的所有无序点都被查找到;以及在最后查找到的无序点是初始起始点并且无序点集中的所有无序点都被查找到的情况下,基于无序点集中的各个无序点被查找到的顺序形成户型图轮廓。
本公开的至少一实施例还提供一种用于重建户型图轮廓的装置。该装置包括:点集分类模块,被配置为确定与户型图轮廓相对应的无序点集中的凹点集和凸点集;初始起始点选择模块,被配置为在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标;相邻点确定模块,被配置为:基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点,以及将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点,并且重复执行确定更新起始点的相邻点的过程直至满足停止条件;户型图轮廓形成模块,被配置为基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。
例如,在一些实施方式中,户型图轮廓形成模块被配置为:基于无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在该任意一个无序点之后紧接着被查找到的无序点进行连接以形成户型图轮廓。
例如,在一些实施方式中,初始起始点为户型图轮廓中的边角点,边角点为凸点集中的在第一方向或第二方向上处于边缘位置的凸点,第一方向与第二方向相互垂直。
例如,在一些实施方式中,相邻点确定模块被配置为:基于初始起始点的坐标确定查找方向;以及在查找方向上在无序点集中查找初始起始点的相邻点。
例如,在一些实施方式中,相邻点确定模块被配置为:在查找方向上在特定查找集中查找初始起始点的相邻点,其中特定查找集包括无序点集中尚未被查找到的所有无序点。
例如,在一些实施方式中,相邻点确定模块被配置为:基于更新起始点的坐标确定更新查找方向,在更新查找方向上在特定查找集中查找更新起始点的相邻点。
例如,在一些实施方式中,相邻点确定模块被配置为:基于在确定更新起始点之前的查找方向和更新起始点的无序点类型,确定更新查找方向,其中,无序点类型为凸点类型或凹点类型。
例如,在一些实施方式中,停止条件包括以下中的至少一个:在更新查找方向上在特定查找集中未查找到无序点、最后查找到的无序点是初始起始点、或无序点集中的所有无序点都被查找到。
例如,在一些实施方式中,户型图轮廓形成模块被配置为:判断最后查找到的无序点是否是初始起始点并且是否无序点集中的所有无序点都被查找到;以及在最后查找到的无序点是初始起始点并且无序点集中的所有无序点都被查找到的情况下,基于无序点集中的各个无序点被查找到的顺序形成户型图轮廓。
本公开的至少一实施例还提供一种电子设备。该电子设备包括:一个或多个处理器;和存储器,用于存储一个或多个计算机程序,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现如上描述的方法中的任意一个。
本公开的至少一实施例还提供一种计算机可读存储介质,其上存储有一个或多个计算机程序,当一个或多个计算机程序被处理器执行时实现如上描述的方法中的任意一个。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例的附图作简单地介绍。明显地,下面描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了根据本公开的一些实施例的户型图轮廓以及与该户型图轮廓对应的无序点集的示意图;
图2示出了根据本公开的至少一实施例的用于重建户型图轮廓的方法的流程图;
图3示出了根据本公开的至少一实施例的用于重建户型图轮廓的方法的示意图;
图4示出了根据本公开的至少一实施例的用于重建户型图轮廓的装置的结构示意图;以及
图5示出了根据本公开的实施例的电子设备的框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
这里用于描述本发明的实施例的术语并非旨在限制和/或限定本发明的范围。
例如,除非另外定义,本公开使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
应该理解的是,本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。除非上下文另外清楚地指出,否则单数形式“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。
将进一步理解的是,术语“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
无序点集是由多个无序的、离散的点(简称为无序点)构成的集合。
在本公开的实施例中,考虑通过对户型图相关的图像进行处理(例如,采样)来获得与户型图的轮廓对应的无序点集,并对获得的无序点集进行处理以重建户型图轮廓。
当通过无序点集来恢复户型图轮廓时,任何两个无序点均存在连接的可能性。例如,可以通过穷举方法(例如,利用穷举的碰撞试验)来恢复户型图。然而,穷举耗时很长,导致算法的效率很低,并且随着集合中无序点的数量的增多,耗时会成倍的增长。另外,由于碰撞试验属于无规律的穷举,有较大的可能出现方向性的错误,容易出现还原目标形状失败的情况,导致很多无效的操作步骤,增加了算法的复杂度。另外,在碰撞试验的计算过程中,需要储存较多的变量,占用内存较多,造成空间复杂度过高。
本公开的至少一实施例提供一种用于重建户型图轮廓的方法。该方法包括以下步骤:确定与户型图轮廓相对应的无序点集中的凹点集和凸点集;在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标;基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点;将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点,并且重复该步骤直至满足停止条件;以及基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。
根据本公开的实施例的方法能够对无序点集进行处理以获得无序点集中的各个无序点之间的关联关系,并且基于获得的关联关系恢复与无序点集对应的户型图轮廓。
下面,将参考附图详细地说明本公开的实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。
在本公开的实施例中,无序点集是指由多个无序点构成的集合,其中多个无序点的顺序是无规律的。也就是说,当通过无序点集中的多个无序点来恢复图形时,任何两个无序点均存在连接的可能性。例如,无序点集可以对应于户型图轮廓,即要恢复的图形为户型图轮廓。图像可以包括二维图像或三维图像。因此,在一些实施方式中,基于无序点集,可以重建与该无序点集对应的图像的轮廓。例如,图像的轮廓可以是诸如直角多边形的二维图形。
无序点集中的无序点的类型可以包括凹点(也称为凹顶点)和凸点(也称为凸顶点)。因此,无序点集可以包括凹点集和凸点集,其中凹点集中包括至少一个凹点,凸点集包括至少一个凸点。例如,无序点集中的无序点的类型仅包括凹点和凸点。在本公开的实施例中,在与无序点集对应的户型图轮廓中,当以某个无序点为交点的、户型图轮廓的两个直角边形成的内角小于外角时,则该无序点的类型为凸点。相反,当以某个无序点为交点的、户型图轮廓的两个直角边形成的内角大于外角时,则该无序点的类型为凹点。另外,在本公开的实施例中,在凸点集中,在第一方向或第二方向上处于边缘位置的凸点可以被称为边角点。例如,在二维直角坐标系中,边角点可以包括:横坐标最小的凸点集中,纵坐标最大或最小的凸点;横坐标最大的凸点集中,纵坐标最大或最小的凸点;纵坐标最小的凸点集中,横坐标最大或最小的凸点;纵坐标最大的凸点集中,横坐标最大或最小的凸点。
图1示出了根据本公开的一些实施例的户型图轮廓以及与该户型图轮廓对应的无序点集的示意图。参考图1,对于无序点集{A,B,C,D,E,F,G,H,I,J},凸点包括A、B、D、E、G、H、I,凹点包括C、F、J。因此,凸点集为{A,B,D,E,G,H,I},凹点集为{C,F,J}。与无序点集相对应的户型图轮廓为将无序点集中的各个无序点按照一定的顺序连接形成的直角多边形,例如,如图1中的虚线所示。进一步参考图1,对于凸点集{A,B,D,E,G,H,I},边角点包括A、B、D、E、G、H、I。
以上结合图1描述的仅是无序点集的示例,然而本公开的实施例不限于此。
图2示出了根据本公开的至少一实施例的用于重建户型图轮廓的方法的流程图。
参考图2,在步骤S200,确定与户型图轮廓相对应的无序点集中的凹点集和凸点集。
在一些实施方式中,户型图轮廓可以是二维户型图的轮廓。
例如,户型图轮廓可以是诸如直角多边形的二维图形。直角多边形可以指所有的角均为直角的多边形。
例如,可以通过另外的图像采集模块(例如,照相机)来获取户型图像,其中该户型图像的轮廓为户型图轮廓。此外,可以对户型图像的轮廓进行数据处理(例如,边缘检测、凹点检测、凸点检测等)以获得与户型图轮廓对应的无序点集。
在一些实施方式中,可以采用以下方法中的至少一个来确定凹点集和凸点集:凸壳法、角度法、左右点法、矢量面积法、向量积法、射线法、斜率法以及极点顺序法。需要说明,本公开的实施例不限制确定凹点集和凸点集的方法,可以采用已知的各种方法来确定凹点集和凸点集。
继续参考图2,在步骤S210,在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标。
在一些实施方式中,步骤S210包括从凸点集中的多个边角点中选择一个边角点作为初始起始点。例如,边角点为凸点集中的在第一方向或第二方向上处于边缘位置的凸点,第一方向与第二方向相互垂直。例如,在将无序点集映射到二维平面直角坐标系(X-Y直角坐标系)的情况下,第一方向可以为X轴方向,第二方向可以为Y轴方向。
接下来,在步骤S220,基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点。
在一些实施方式中,步骤S220可以包括:基于初始起始点的坐标确定查找方向;在查找方向上在无序点集中查找初始起始点的相邻点。
例如,在查找方向上在无序点集中查找初始起始点的相邻点包括:在查找方向上在特定查找集中查找初始起始点的相邻点,其中特定查找集包括无序点集中尚未被查找到的所有无序点。例如,在步骤S220之前,特定查找集可以被初始化为包括无序点集中的所有无序点。
在一些实施方式中,在将无序点集映射到X-Y直角坐标系的情况下,当与无序点集对应的户型图轮廓为直角多边形并且直角多边形的一个直角边平行于X轴另一个直角边平行于Y轴的情况下,查找方向包括X轴方向和Y轴方向。因此,可以基于初始起始点的坐标确定是在X轴方向还是在Y轴方向上查找相邻点。另外,为了便于描述,将X轴的箭头所指的方向称为X轴的正方向,将X轴的箭头所指的方向的反方向称为X轴的反方向。类似地,将Y轴的箭头所指的方向称为Y轴的正方向,将Y轴的箭头所指的方向的反方向称为Y轴的反方向。例如,查找方向包括X轴的正方向、X轴的反方向、Y轴的正方向和Y轴的反方向。
例如,基于初始起始点的坐标确定查找方向可以包括:当初始起始点是横坐标最小的凸点集中纵坐标最大的凸点时,则查找方向为X轴正方向;当初始起始点是横坐标最小的凸点集中纵坐标最小的凸点时,则查找方向为Y轴正方向;当初始起始点是横坐标最大的凸点集中纵坐标最大的凸点时,则查找方向为Y轴反方向;当初始起始点是横坐标最大的凸点集中纵坐标最小的凸点时,则查找方向为X轴反方向;当初始起始点是纵坐标最小的凸点集中横坐标最大的凸点时,则查找方向为X轴反方向;当初始起始点是纵坐标最小的凸点集中横坐标最小的凸点时,则查找方向为Y轴正方向;当初始起始点是纵坐标最大的凸点集中横坐标最小的凸点时,则查找方向为X轴正方向;当初始起始点是纵坐标最大的凸点集中横坐标最大的凸点时,则查找方向为Y轴反方向。
例如,在本公开的一些实施方式中,查找方向可以为特定的方向范围。例如,当确定查找方向后,实际进行查找的方向可以是基于所确定的查找方向的查找范围。例如,当确定的查找方向为X轴正方向时,实际进行查找的方向可以是将X轴的正方向朝向Y轴的正方向和反方向分别旋转特定的角度(例如,5~10度)获得的范围。
另外,例如,在本公开的实施方式中,在一个点的某个方向进行查找可以通过查找与该点的横坐标或纵坐标相同的点来实现。例如,在查找方向为X轴方向时,在一个点的某个方向进行查找可以通过查找与该点具有相同纵坐标的点来实现。类似地,在查找方向为Y轴方向时,在一个点的某个方向进行查找可以通过查找与该点具有相同的横坐标的点来实现。
例如,在执行步骤S220后,基于查找到的相邻点,更新特定查找集。例如,可以从特定查找集中去除特定查找集中的查找到的无序点来获得更新的特定查找集。在后续的步骤中,可以使用更新的特定查找集来进行查找。
继续参考图2,在步骤S230,将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点。
在一些实施方式中,步骤S230可以包括:基于更新起始点的坐标确定更新查找方向,在更新查找方向上在特定查找集中查找更新起始点的相邻点。
例如,在将无序点集映射到X-Y直角坐标系的情况下,当无序点集对应的户型图轮廓为直角多边形并且直角多边形的一个直角边平行于X轴另一个直角边平行于Y轴的情况下,查找方向可以包括X轴方向和Y轴方向。因此,可以基于更新起始点的坐标确定是在X轴方向还是在Y轴方向上查找相邻点。
例如,基于更新起始点的坐标确定更新查找方向可以包括:基于更新起始点的类型和上一次查找的查找方向来确定更新查找方向。更新起始点的类型包括凹点和凸点。
例如,在更新查找方向上在特定查找集中查找更新起始点的相邻点包括:在更新查找方向上在特定查找集中查找初始起始点的相邻点,其中特定查找集包括无序点集中尚未被查找到的所有无序点。
接下来,在步骤S240,判断是否满足停止条件,如果满足停止条件,则结束该方法,如果不满足停止条件,则返回继续执行步骤S230。
在一些实施方式中,停止条件包括以下中的至少一个:在更新查找方向上在特定查找集中未查找到无序点、最后查找到的无序点是初始起始点、或无序点集中的所有无序点都被查找到。
例如,在最后查找到的无序点是初始起始点并且无序点集中的所有无序点都被查找到的情况下,可以确定无序点集是正确的无序点集。例如,在这种情况下,可以从该无序点集中恢复与其对应的户型图轮廓。
例如,在更新查找方向上在特定查找集中未查找到无序点的情况下,可以确定无序点集是错误的无序点集。例如,在这种情况下,无法从该无序点集中恢复户型图轮廓。
然后,在步骤S250,基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。
在一些实施方式中,步骤S250可以包括:基于无序点集中的各个无序点被查找到的顺序确定无序点集中的各个无序点的关联关系,并基于确定的关联关系重建户型图轮廓。
例如,关联关系可以表示某个无序点与另一个无序点形成连接的连接关系。
例如,步骤S250可以包括:基于无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在任意一个无序点之后紧接着被查找到的无序点进行连接以形成户型图轮廓。
通过步骤S200至步骤S250,本公开的实施例可以对无序点集进行处理以重建户型图轮廓。本公开实施例提供的方法基于起始点的坐标对查找方向进行更新,因此可以简单快速地获得各个无序点的顺序,减少了运算的时间复杂度和空间复杂度。
在一些实施方式中,步骤S250可以包括:判断最后查找到的无序点是否是初始起始点并且是否无序点集中的所有无序点都被查找到;以及在最后查找到的无序点是初始起始点并且无序点集中的所有无序点都被查找到的情况下,基于无序点集中的各个无序点被查找到的顺序形成户型图轮廓。
例如,在最后查找到的无序点是起始点并且无序点集中的所有无序点都被查找到的情况下,可以确定该无序点集是正确的无序点集,即,从该无序点集可以恢复与该无序点集对应的户型图轮廓。如果最后查找到的无序点不是初始起始点并且存在无序点集中的未被查找到的无序点,则可以确定该无序点集是错误的无序点集,例如,无序点集中存在多余的无序点或在无序点集中缺少一些无序点,导致无法恢复户型图轮廓。
因此,根据本公开的实施例的方法可以确定无序点集是否是正确的无序点集,即确定是否能够从该无序点集恢复户型图轮廓,并且在无序点集是正确的无序点集的情况下,恢复与该无序点集对应的户型图轮廓。
通过本公开实施例的方法,可以基于无序点集快速地获取户型图轮廓,与人工绘制的方式相比效率更高。
以上结合图2描述了根据本公开的至少一实施例的用于重建户型图轮廓的方法。下面将结合图3,使用以上结合图2描述的方法处理图1中的与特定的户型图轮廓对应的特定的无序点集。在这种情况下,特定的无序点集为{A,B,C,D,E,F,G,H,I,J},凸点集为{A,B,D,E,G,H,I},凹点集为{C,F,J},无序点集{A,B,C,D,E,F,G,H,I,J}对应的户型图轮廓为直角多边形。为了便于描述,建立如图3中所示的X-Y直角坐标系,并将无序点集映射到该X-Y直角坐标系。
首先,确定无序点集{A,B,C,D,E,F,G,H,I,J}中的凸点集{A,B,D,E,G,H,I}和凹点集为{C,F,J}。例如,可以参考以上描述的方法确定凹点集和凸点集。
然后,从凸点集{A,B,D,E,G,H,I}中选择一个无序点作为初始起始点,并确定初始起始点的坐标。在此实施例中,选择无序点A作为初始起始点。需要说明,可以选择其他的边角点作为初始起始点。当选择其他的边角点作为初始起始点时,可以采用与以下将描述的方法类似的方法来进行处理。
然后,基于无序点A的坐标,在无序点集{A,B,C,D,E,F,G,H,I,J}中确定无序点A的相邻点。例如,基于无序点A的坐标,可以确定查找方向,并且在所确定的查找方向上在特定查找集中查找无序点A的相邻点。例如,特定查找集可以被初始化为无序点集{A,B,C,D,E,F,G,H,I,J}。例如,由于无序点A是横坐标最小且纵坐标最小的无序点,因此,查找方向被确定为Y轴的正方向,即向下。在Y轴的正方向上,在该特定查找集中查找与无序点A横坐标相同的相邻点,从而得到无序点的相邻点B。例如,查找到相邻点B后,可以将特定查找集更新为{A,C,D,E,F,G,H,I,J}。
然后,将查找到的相邻点B作为更新起始点,确定更新起始点B的坐标,基于更新起始点B的坐标在无序点集中确定更新起始点的相邻点。例如,基于更新起始点B的坐标,可以确定更新查找方向,并且在所确定的更新查找方向上在特定查找集中查找更新起始点B的相邻点。此时,特定查找集为{A,C,D,E,F,G,H,I,J}。例如,可以基于更新起始点B的类型和上一次查找的查找方向来确定更新查找方向。更新起始点的类型包括凹点和凸点。例如,由于无序点B的类型是凸点并且上一次查找方向为向下,因此,为了使无序点B为凸点,查找方向被确定为X轴的正方向,即向右。在X轴的正方向上,在该特定查找集{A,C,D,E,F,G,H,I,J}中查找与无序点B纵坐标相同的相邻点,从而得到无序点B的相邻点C。例如,查找到相邻点C后,可以将特定查找集更新为{A,D,E,F,G,H,I,J}。在其他情况下,如果无序点B的类型是凹点,则查找方向可以被确定为X轴的反方向,即向左。
然后,将查找到的相邻点C作为更新起始点,确定更新起始点C的坐标,基于更新起始点C的坐标在无序点集中确定更新起始点的相邻点。例如,基于更新起始点C的坐标,可以确定更新查找方向,并且在所确定的更新查找方向上在特定查找集中查找更新起始点C的相邻点。此时,特定查找集为{A,D,E,F,G,H,I,J}。例如,可以基于更新起始点C的类型和上一次查找的查找方向来确定更新查找方向。例如,由于无序点C的类型是凹点并且上一次查找方向为向右,因此,为了使无序点C为凹点,查找方向被确定为Y轴的正方向,即向下。在Y轴的正方向上,在该特定查找集{A,D,E,F,G,H,I,J}中查找与无序点C横坐标相同相邻点,从而得到无序点C的相邻点D。例如,查找到相邻点D后,可以将特定查找集更新为{A,E,F,G,H,I,J}。在其他情况下,如果无序点C的类型是凸点,则查找方向可以被确定为Y轴的反方向,即向上。
然后,将查找到的相邻点D作为更新起始点,确定更新起始点D的坐标,基于更新起始点D的坐标在无序点集中确定更新起始点的相邻点。例如,基于更新起始点D的坐标,可以确定更新查找方向,并且在所确定的更新查找方向上在特定查找集中查找更新起始点D的相邻点。此时,特定查找集为{A,E,F,G,H,I,J}。例如,可以基于更新起始点D的类型和上一次查找的查找方向来确定更新查找方向。例如,由于无序点D的类型是凸点并且上一次查找方向为向下,因此,为了使无序点D为凸点,查找方向被确定为X轴的正方向,即向右。在X轴的正方向上,在该特定查找集{A,E,F,G,H,I,J}中查找与无序点D纵坐标相同的相邻点,从而得到无序点D的相邻点E。例如,查找到相邻点E后,可以将特定查找集更新为{A,F,G,H,I,J}。
然后,将查找到的相邻点E作为更新起始点,确定更新起始点E的坐标,基于更新起始点E的坐标在无序点集中确定更新起始点的相邻点。例如,基于更新起始点E的坐标,可以确定更新查找方向,并且在所确定的更新查找方向上在特定查找集中查找更新起始点E的相邻点。此时,特定查找集为{A,F,G,H,I,J}。例如,可以基于更新起始点E的类型和上一次查找的查找方向来确定更新查找方向。例如,由于无序点E的类型是凸点并且上一次查找方向为向右,因此,为了使无序点E为凸点,查找方向被确定为Y轴的反方向,即向上。在Y轴的反方向上,在该特定查找集{A,F,G,H,I,J}中查找与无序点E横坐标相同的相邻点,从而得到无序点E的相邻点F。例如,查找到相邻点F后,可以将特定查找集更新为{A,G,H,I,J}。
采用类似的方法,可以确定以无序点F为起始点查找到的相邻点G,以无序点G为起始点查找到的相邻点H,以无序点H为起始点查找到的相邻点I,以无序点I为起始点查找到的相邻点J。此时,特定查找集被更新为{A}。
然后,将查找到的相邻点J作为更新起始点,确定更新起始点J的坐标,基于更新起始点J的坐标在无序点集中确定更新起始点的相邻点。例如,基于更新起始点J的坐标,可以确定更新查找方向,并且在所确定的更新查找方向上在特定查找集中查找更新起始点J的相邻点。此时,特定查找集为{A}。例如,可以基于更新起始点J的类型和上一次查找的查找方向来确定更新查找方向。例如,由于无序点J的类型是凹点并且上一次查找方向为向下,因此,为了使无序点J为凹点,查找方向被确定为X轴的反方向,即向左。在X轴的反方向上,在该特定查找集{A}中查找得到无序点J的相邻点A。此时,特定查找集被更新为空,即最后查找到的无序点A。由于最后查找到的无序点A与初始起始点相同,因此满足停止条件,即,停止执行查找过程。进一步,可以判断无序点集中的各个无序点是否都被查找到。如果无序点集中的各个无序点都被查找到,则可以确定无序点集是正确的无序点集。
在一些情况下,如果当满足停止条件时,最后查找到的无序点不是初始起始点A或者存在无序点集中的未被查找到的无序点,则可以确定无序点集是错误的无序点集。例如,无序点集中存在多余的无序点或在无序点集中缺少一些无序点,导致无法恢复户型图轮廓。
在一些实施方式中,可以基于无序点集中的各个无序点被查找到的顺序,形成户型图轮廓。例如,可以将无序点A、B、C、D、E、F、G、H、I、J顺序连接起来以形成户型图轮廓。
在一些实施方式中,在每次查找相邻点的过程中,起始点与查找到的该起始点的相邻点可以建立向量,其中向量的方向为查找该相邻点使用的查找方向。在满足停止条件时,可以将建立的各个向量连接起来从而形成户型图轮廓。
以上描述了一种采用结合图2描述的方法对特定的无序点集{A,B,C,D,E,F,G,H,I,J}进行处理的具体步骤。需要说明,这仅是为了解释本公开,本公开的实施例不限于此,在此基础上,可以进行各种改变。
以上描述了根据本公开的各种实施例的用于重建户型图轮廓的方法。应当理解,附图中的流程图和框图图示了根据本公开的各种实施例的方法、装置、系统和计算机可读存储介质的可能实现的体系架构、功能和操作。例如,流程图或框图中的每个框可以表示包括用于实现指定的逻辑功能的至少一个可执行指令的模块、段或代码部分。还应该注意的是,在一些替代实施方式中,方框中提到的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行。还将注意到,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实现。
图4示出了根据本公开的至少一实施例的用于重建户型图轮廓的装置的结构示意图。
参考图4,用于重建户型图轮廓的装置40可以包括:点集分类模块401、初始起始点选择模块402、相邻点确定模块403和户型图轮廓形成模块404。
点集分类模块401可以被配置为确定与户型图轮廓相对应的无序点集中的凹点集和凸点集。
初始起始点选择模块402可以被配置为在凸点集中选择一个无序点作为初始起始点,并确定初始起始点的坐标。
相邻点确定模块403可以被配置为:基于初始起始点的坐标,在无序点集中确定初始起始点的相邻点,以及将相邻点作为更新起始点,确定更新起始点的坐标,基于更新起始点的坐标在无序点集中确定更新起始点的相邻点,并且重复该确定更新起始点的相邻点的过程直至满足停止条件。
户型图轮廓形成模块404可以被配置为:基于无序点集中的各个无序点被查找到的顺序重建户型图轮廓。
在一些实施方式中,相邻点确定模块403可以被配置为:基于初始起始点的坐标确定查找方向;以及在查找方向上在无序点集中查找初始起始点的相邻点。
在一些实施方式中,相邻点确定模块403可以被配置为:在查找方向上在特定查找集中查找初始起始点的相邻点,其中特定查找集包括无序点集中尚未被查找到的所有无序点。
在一些实施方式中,相邻点确定模块403可以被配置为:基于更新起始点的坐标确定更新查找方向,在更新查找方向上在特定查找集中查找更新起始点的相邻点。
在一些实施方式中,相邻点确定模块403可以被配置为:基于在确定更新起始点之前的查找方向和更新起始点的无序点类型,确定更新查找方向,其中,无序点类型为凸点类型或凹点类型。
在一些实施方式中,停止条件包括以下中的至少一个:在更新查找方向上在特定查找集中未查找到无序点、最后查找到的无序点是初始起始点、或无序点集中的所有无序点都被查找到。
在一些实施方式中,户型图轮廓形成模块404可以被配置为基于无序点集中的各个无序点被查找到的顺序确定无序点集中的各个无序点之间的关联关系,并基于各个无序点之间的关联形成户型图轮廓。
例如,关联关系可以表示某个无序点与另一个无序点形成连接的连接关系。
例如,户型图轮廓形成模块404可以被配置为:基于无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在任意一个无序点之后紧接着被查找到的无序点进行连接以形成所述户型图轮廓。
在一些实施方式中,初始起始点为户型图轮廓中的边角点,边角点为凸点集中的在第一方向或第二方向上处于边缘位置的凸点,第一方向与第二方向相互垂直。
例如,户型图轮廓形成模块404可以被配置为:判断最后查找到的无序点是否是初始起始点并且是否无序点集中的所有无序点都被查找到;以及在最后查找到的无序点是初始起始点并且无序点集中的所有无序点都被查找到的情况下,基于无序点集中的各个无序点被查找到的顺序形成户型图轮廓。
关于点集分类模块401、初始起始点选择模块402、和相邻点确定模块403和户型图轮廓形成模块404的具体配置可以参考以上描述的方法实施例,这里省略对其的详细描述。
图5示出了根据本公开的实施例的电子设备的框图。
参考图5,电子设备50可以包括一个或多个处理器501和存储器502。存储器502可以用于存储一个或多个计算机程序。
处理器501可以包括各种处理电路,诸如但不限于专用处理器、中央处理单元、应用处理器或通信处理器中的一种或更多种。处理器501可以对电子设备50的至少一个其他组件执行控制、和/或执行与通信相关的操作或数据处理。
存储器502可以包括易失性和/或非易失性存储器。
在一些实施方式中,当一个或多个计算机程序被一个或多个处理器501执行时,使得一个或多个处理器501实现如上描述的方法。
例如,本公开的实施例中的电子设备50可以包括诸如智能电话、平板个人计算机(PC)、服务器、移动电话、视频电话、电子书阅读器、台式PC、膝上型计算机、上网本计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗设备、照相机或可穿戴设备(例如头戴式设备(HMD)、电子衣服、电子手环、电子项链、电子饰品、电子纹身或智能手表)等。
如本文所使用的,术语“模块”可以包括在硬件、软件或固件和/或其任何组合中配置的单元,并且可以与其他术语(例如逻辑、逻辑块、部件或电路)互换使用。模块可以是单个整体部件或执行一个或更多个功能的最小单元或部件。该模块可以机械地或电子地实现,并且可以包括但不限于已知的或将要被开发的执行某些操作的专用处理器、CPU、专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)或可编程逻辑器件。
根据本公开的实施例,设备(例如,模块或其功能)或方法(例如,操作或步骤)的至少一部分可以被实现为例如以程序模块的形式存储在计算机可读存储介质(例如,存储器502)中的指令。当由处理器(例如,处理器501)执行该指令时,该指令可以使处理器能够执行相应的功能。计算机可读介质可以包括例如硬盘、软盘、磁介质、光学记录介质、DVD、磁光介质。该指令可以包括由编译器创建的代码或者可由解释器执行的代码。根据本公开的各种实施例的模块或编程模块可以包括上述组件中的至少一个或更多个,可以省略其中的一些,或者还包括其他附加的组件。由根据本公开的各种实施例的模块、编程模块或其他组件执行的操作可以顺序地、并行地、重复地或启发地执行,或者至少一些操作可以以不同的顺序被执行或被省略,或者可以添加其他操作。
以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。
Claims (16)
1.一种用于重建户型图轮廓的方法,包括以下步骤:
确定与所述户型图轮廓相对应的无序点集中的凹点集和凸点集;
在所述凸点集中选择一个无序点作为初始起始点,并确定所述初始起始点的坐标;
基于所述初始起始点的坐标,在所述无序点集中确定所述初始起始点的相邻点;
将所述相邻点作为更新起始点,确定所述更新起始点的坐标,基于所述更新起始点的坐标在所述无序点集中确定所述更新起始点的相邻点,并且重复该步骤直至满足停止条件;以及
基于所述无序点集中的各个无序点被查找到的顺序重建所述户型图轮廓。
2.根据权利要求1所述的方法,其中,基于所述无序点集中的各个无序点被查找到的顺序重建户型图轮廓包括:
基于所述无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在所述任意一个无序点之后紧接着被查找到的无序点进行连接以形成所述户型图轮廓。
3.根据权利要求2所述的方法,其中,所述初始起始点为所述户型图轮廓中的边角点,所述边角点为所述凸点集中的在第一方向或第二方向上处于边缘位置的凸点,所述第一方向与所述第二方向相互垂直。
4.根据权利要求3所述的方法,其中,基于所述初始起始点的坐标,在所述无序点集中确定所述初始起始点的相邻点包括:
基于所述初始起始点的坐标确定查找方向;以及
在所述查找方向上在所述无序点集中查找所述初始起始点的相邻点。
5.根据权利要求4所述的方法,其中,在所述查找方向上在所述无序点集中查找所述初始起始点的相邻点包括:
在所述查找方向上在特定查找集中查找所述初始起始点的相邻点,其中所述特定查找集包括所述无序点集中尚未被查找到的所有无序点。
6.根据权利要求5所述的方法,其中,基于所述更新起始点的坐标在所述无序点集中确定所述更新起始点的相邻点包括:
基于所述更新起始点的坐标确定更新查找方向;以及
在所述更新查找方向上在所述特定查找集中查找所述更新起始点的相邻点。
7.根据权利要求6所述的方法,其中,基于所述更新起始点的坐标确定更新查找方向包括:
基于在确定所述更新起始点之前的查找方向和所述更新起始点的无序点类型,确定所述更新查找方向,
其中,所述无序点类型为凸点类型或凹点类型。
8.根据权利要求7所述的方法,其中,所述停止条件包括以下中的至少一个:在所述更新查找方向上在所述特定查找集中未查找到无序点、最后查找到的无序点是初始起始点、或所述无序点集中的所有无序点都被查找到。
9.根据权利要求8所述的方法,其中,基于所述无序点集中的各个无序点被查找到的顺序,形成户型图轮廓,包括:
判断最后查找到的无序点是否是所述初始起始点并且是否所述无序点集中的所有无序点都被查找到;以及
在最后查找到的无序点是所述初始起始点并且所述无序点集中的所有无序点都被查找到的情况下,基于所述无序点集中的各个无序点被查找到的顺序形成所述户型图轮廓。
10.一种用于重建户型图轮廓的装置,包括:
点集分类模块,被配置为确定与所述户型图轮廓相对应的无序点集中的凹点集和凸点集;
初始起始点选择模块,被配置为在所述凸点集中选择一个无序点作为初始起始点,并确定所述初始起始点的坐标;
相邻点确定模块,被配置为:
基于所述初始起始点的坐标,在所述无序点集中确定所述初始起始点的相邻点,以及
将所述相邻点作为更新起始点,确定所述更新起始点的坐标,基于所述更新起始点的坐标在所述无序点集中确定所述更新起始点的相邻点,并且重复执行确定更新起始点的相邻点的过程直至满足停止条件;
户型图轮廓形成模块,被配置为基于所述无序点集中的各个无序点被查找到的顺序重建所述户型图轮廓。
11.根据权利要求10所述的装置,其中,所述户型图轮廓形成模块被配置为:基于所述无序点集中的各个无序点被查找到的顺序,将各个无序点中的任意一个无序点与在所述任意一个无序点之后紧接着被查找到的无序点进行连接以形成所述户型图轮廓。
12.根据权利要求11所述的装置,其中,所述初始起始点为所述户型图轮廓中的边角点,所述边角点为所述凸点集中的在第一方向或第二方向上处于边缘位置的凸点,所述第一方向与所述第二方向相互垂直。
13.根据权利要求12所述的装置,其中,所述相邻点确定模块被配置为:
基于所述初始起始点的坐标确定查找方向;以及
在所述查找方向上在所述无序点集中查找所述初始起始点的相邻点。
14.根据权利要求13所述的装置,其中,所述相邻点确定模块被配置为:
在所述查找方向上在特定查找集中查找所述初始起始点的相邻点,其中所述特定查找集包括所述无序点集中尚未被查找到的所有无序点。
15.一种电子设备,包括:
一个或多个处理器;和
存储器,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311579.2A CN111145293B (zh) | 2019-12-18 | 2019-12-18 | 用于重建户型图轮廓的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311579.2A CN111145293B (zh) | 2019-12-18 | 2019-12-18 | 用于重建户型图轮廓的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145293A true CN111145293A (zh) | 2020-05-12 |
CN111145293B CN111145293B (zh) | 2020-12-29 |
Family
ID=70518802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911311579.2A Active CN111145293B (zh) | 2019-12-18 | 2019-12-18 | 用于重建户型图轮廓的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145293B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205571A (zh) * | 2021-04-30 | 2021-08-03 | 北京城市网邻信息技术有限公司 | 用于户型图的处理方法、处理装置及电子设备 |
CN113436330A (zh) * | 2021-06-28 | 2021-09-24 | 广联达科技股份有限公司 | 面积对象的生成方法、装置、电子设备及可读存储介质 |
WO2022226995A1 (zh) * | 2021-04-30 | 2022-11-03 | 北京城市网邻信息技术有限公司 | 基于有序点集的处理方法、处理装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207197A1 (en) * | 2004-03-18 | 2005-09-22 | Uis Abler Electronics Co., Ltd. | Power converter for a hybrid power filter |
CN106934842A (zh) * | 2017-03-10 | 2017-07-07 | 广州视源电子科技股份有限公司 | 闭合区域的识别方法和装置 |
CN108388577A (zh) * | 2018-01-17 | 2018-08-10 | 链家网(北京)科技有限公司 | 一种自动生成房屋户型图语法树的方法及系统 |
CN108898516A (zh) * | 2018-05-30 | 2018-11-27 | 链家网(北京)科技有限公司 | 在虚拟三维空间讲房模式进功能间的方法、服务器和终端 |
CN108961152A (zh) * | 2018-05-30 | 2018-12-07 | 链家网(北京)科技有限公司 | 平面户型图生成方法和装置 |
-
2019
- 2019-12-18 CN CN201911311579.2A patent/CN111145293B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207197A1 (en) * | 2004-03-18 | 2005-09-22 | Uis Abler Electronics Co., Ltd. | Power converter for a hybrid power filter |
CN106934842A (zh) * | 2017-03-10 | 2017-07-07 | 广州视源电子科技股份有限公司 | 闭合区域的识别方法和装置 |
CN108388577A (zh) * | 2018-01-17 | 2018-08-10 | 链家网(北京)科技有限公司 | 一种自动生成房屋户型图语法树的方法及系统 |
CN108898516A (zh) * | 2018-05-30 | 2018-11-27 | 链家网(北京)科技有限公司 | 在虚拟三维空间讲房模式进功能间的方法、服务器和终端 |
CN108961152A (zh) * | 2018-05-30 | 2018-12-07 | 链家网(北京)科技有限公司 | 平面户型图生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
王斌: "用于形状识别的目标轮廓无序点集描述与匹配", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205571A (zh) * | 2021-04-30 | 2021-08-03 | 北京城市网邻信息技术有限公司 | 用于户型图的处理方法、处理装置及电子设备 |
CN113205571B (zh) * | 2021-04-30 | 2022-03-01 | 北京城市网邻信息技术有限公司 | 用于户型图的处理方法、处理装置及电子设备 |
WO2022226995A1 (zh) * | 2021-04-30 | 2022-11-03 | 北京城市网邻信息技术有限公司 | 基于有序点集的处理方法、处理装置及电子设备 |
CN113436330A (zh) * | 2021-06-28 | 2021-09-24 | 广联达科技股份有限公司 | 面积对象的生成方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111145293B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111080692B (zh) | 基于无序点集的处理方法、处理装置及电子设备 | |
CN111145293B (zh) | 用于重建户型图轮廓的方法、装置及电子设备 | |
Chen et al. | Point-based multi-view stereo network | |
CN111133336B (zh) | 用于执行定位的方法和系统 | |
US10269147B2 (en) | Real-time camera position estimation with drift mitigation in incremental structure from motion | |
US10269148B2 (en) | Real-time image undistortion for incremental 3D reconstruction | |
US20180315232A1 (en) | Real-time incremental 3d reconstruction of sensor data | |
US10872227B2 (en) | Automatic object recognition method and system thereof, shopping device and storage medium | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
Zhao et al. | A directional-edge-based real-time object tracking system employing multiple candidate-location generation | |
US11024022B2 (en) | Data generation method and data generation device | |
CN111767965A (zh) | 图像匹配方法、装置、电子设备及存储介质 | |
US20150262362A1 (en) | Image Processor Comprising Gesture Recognition System with Hand Pose Matching Based on Contour Features | |
CN110009625B (zh) | 基于深度学习的图像处理系统、方法、终端、及介质 | |
CN115630663A (zh) | 一种二维码识别方法、装置及电子设备 | |
Li et al. | Quantized self-supervised local feature for real-time robot indirect VSLAM | |
CN108961164A (zh) | 基于几何不变量的图像配准拼接方法和装置及计算机设备 | |
US11281935B2 (en) | 3D object detection from calibrated 2D images | |
CN113570667B (zh) | 视觉惯导补偿方法、装置及存储介质 | |
CN114519817A (zh) | 机器人重定位方法、装置及机器人 | |
CN116188573A (zh) | 物体姿态识别方法、装置、计算机设备、存储介质和产品 | |
CN113205571B (zh) | 用于户型图的处理方法、处理装置及电子设备 | |
WO2022226995A1 (zh) | 基于有序点集的处理方法、处理装置及电子设备 | |
US20230364783A1 (en) | Inverse kinematics computational solver system, method, and apparatus | |
CN118279389A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |