修正方法、电子装置和存储介质

文档序号:192793 发布日期:2021-11-02 浏览:16次 >En<

阅读说明:本技术 修正方法、电子装置和存储介质 (Correction method, electronic device, and storage medium ) 是由 王江峰 许齐功 于 2021-07-12 设计创作,主要内容包括:本申请涉及一种修正方法、电子装置和存储介质,其中,该修正方法包括:获取标准边缘线;确定与标准边缘线邻近的各网格边缘顶点;将各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点;根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线,通过本申请,解决了三维扫描的边界精度无法达到要求的问题,实现了更加准确地确定被扫描物体的边缘信息。(The present application relates to a correction method, an electronic apparatus, and a storage medium, wherein the correction method includes: acquiring a standard edge line; determining each grid edge vertex adjacent to the standard edge line; determining the projection of each grid edge vertex on the standard edge line as each corresponding modified grid vertex; according to the method and the device, the edge lines after correction in the three-dimensional grid model are determined according to the grid vertexes after correction, the problem that the boundary precision of three-dimensional scanning cannot meet the requirement is solved, and the edge information of the scanned object is determined more accurately.)

修正方法、电子装置和存储介质

技术领域

本申请涉及三维扫描领域,特别是涉及修正方法、电子装置和存储介质。

背景技术

三维扫描是集光、机、电和计算机技术于一体的高新技术,主要用于对物体空间外形和结构及色彩进行扫描,以获得物体表面的空间坐标。在进行三维扫描时,遇到边缘时,比如孔洞、边界、缝隙等,一般采取和扫描普通物体一样的扫描方式,这样会导致边缘不够平滑,获取到的边缘有锯齿状。

现有方案中为了让边缘更加清晰,通常会在边缘处加密,虽然边界会清晰些,但是扫描出的边缘会有锯齿状等,精度无法达到要求。

发明内容

在本实施例中提供了一种修正方法、电子装置和存储介质,以解决相关技术中三维扫描的边界精度无法达到要求的问题。

第一个方面,在本实施例中提供了一种修正方法,包括:

获取标准边缘线;

确定与所述标准边缘线邻近的各网格边缘顶点;

将各所述网格边缘顶点在所述标准边缘线上的投影确定为对应的各修正后的网格顶点;

根据各所述修正后的网格顶点,确定三维网格模型中修正后的边缘线。

在其中的一些实施例中,确定与所述边缘线邻近的各网格边缘顶点包括:

通过将所述标准边缘线进行采样或者根据三维网格模型中的各网格顶点到所述标准边缘线的距离,确定与所述标准边缘线邻近的各网格边缘顶点。

在其中的一些实施例中,通过将所述标准边缘线进行采样,确定与所述边缘线邻近的各网格边缘顶点,具体包括:

将所述标准边缘线进行等距离采样,得到各采样点;

根据各采样点确定与所述边缘线邻近的各网格边缘顶点。

在其中的一些实施例中,根据各采样点确定与所述边缘线邻近的各网格边缘顶点包括:

根据空间数据结构,确定各所述采样点的邻近顶点,其中,所述邻近顶点的个数大于或等于1;

根据各所述邻近顶点,确定与所述边缘线邻近的各网格边缘顶点。

在其中的一些实施例中,将所述边缘线进行等距离采样,得到各采样点包括:

根据所述三维网格模型的分辨率确定采样距离;

根据所述采样距离将所述边缘线进行等距离采样,得到各采样点。

在其中的一些实施例中,所述方法还包括:

根据各所述网格边缘顶点确定以各所述网格边缘顶点为顶点的边界边;

若所述边界边的长度大于或等于第一阈值,采用一个以上分割点对所述边界边进行分割;

将各所述分割点投影至所述边缘线上,得到各新增的网格顶点;

所述确定修正后的边缘线,具体包括:根据各所述修正后的网格顶点和各所述新增的网格顶点,确定三维网格模型中修正后的边缘线。

在其中的一些实施例中,确定所述修正后的边缘线之后,所述方法还包括:

基于所述三维网格模型的网格拓扑结构,确定各所述修正后的网格顶点的邻近网格顶点;

对所述邻近网格顶点进行滤波。

第二个方面,在本实施例中提供了一种修正方法,用于三维扫描系统,包括:

获取待修补孔洞的标准边缘线;

填充所述待修补孔洞,得到填充后的三维网格数据;

将所述待修补孔洞的标准边缘线投影至所述三维网格数据,确定所述待修补孔洞内的三维网格数据;

在所述填充后的三维网格数据中,删除所述待修补孔洞内的三维网格数据,得到修补后的所述待修补孔洞的边缘线。

在其中的一些实施例中,填充所述待修补孔洞,得到填充后的三维网格数据之前包括:

根据所述待修补孔洞的标准边缘线,确定所述待修补孔洞的位置信息。

在其中的一些实施例中,将所述待修补孔洞的标准边缘线投影至所述三维网格数据,确定所述待修补孔洞内的三维网格数据,具体包括:

将所述待修补孔洞的标准边缘线投影至所述三维网格数据,确定各第一面片和各第二面片,其中,所述第一面片为与所述待修补孔洞的标准边缘线相交的面片,所述第二面片为所述待修补孔洞内且不与所述待修补孔洞的标准边缘线相交的面片;

根据各所述第一面片和所述待修补孔洞的标准边缘线位置,确定各第三面片,其中,所述第三面片位于所述待修补孔洞内部;

根据各所述第二面片和各所述第三面片,确定所述待修补孔洞内的三维网格数据。

在其中的一些实施例中,根据各所述第一面片和所述待修补孔洞的标准边缘线位置,确定各第三面片包括:

根据所述待修补孔洞的标准边缘线位置对各所述第一面片进行分割,得到第四面片集合;

根据所述第四面片集合中位于所述待修补孔洞内部的面片,确定各所述第三面片。

在其中的一些实施例中,填充所述待修补孔洞,得到填充后的三维网格数据包括:

获取所述待修补孔洞的尺寸参数;

根据所述尺寸参数扩展所述待修补孔洞的面积,得到扩展后的待修补孔洞;

在三维网格模型中,根据所述扩展后的待修补孔洞的位置,填充所述扩展后的待修补孔洞,得到填充后的三维网格数据。

第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面和第二个方面所述的修正方法。

第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面和第二个方面所述的修正方法。

与相关技术相比,在本实施例中提供的修正方法、电子装置和存储介质,通过将各所述网格边缘顶点在所述标准边缘线上的投影确定为对应的各修正后的网格顶点;根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线,解决了三维扫描的边界精度无法达到要求的问题,实现了更加准确地确定被扫描物体的边缘信息。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的修正方法的应用终端的硬件结构框图;

图2是根据本申请实施例的修正方法的流程图一;

图3是根据本申请实施例的被扫描物体的封闭式边界线示意图;

图4是根据本申请实施例的被扫描物体的非封闭式边界线示意图;

图5是根据本申请实施例的被扫描物体的缝隙示意图;

图6是根据本申请实施例的与标准边缘线邻近的各网格边缘顶点的投影示意图;

图7是根据本申请实施例的修正方法的流程图二;

图8是根据本申请实施例的修正方法的流程图三;

图9是根据本申请实施例的待修补孔洞内的三维网格数据示意图;

图10是根据本申请实施例的根据待修补孔洞的标准边缘线位置对第一面片进行分割的示意图;

图11是根据本申请实施例的修正方法的流程图四;

图12是根据本申请实施例的修正方法的流程图五;

图13是根据本申请实施例的将邻接三角形分裂成多个三角形的示意图;

图14是根据本申请实施例的修正方法的流程图六。

具体实施方式

为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。

除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。

在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是根据本申请实施例的修正方法的应用终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的修正方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种修正方法,图2是根据本申请实施例的修正方法的流程图一,如图2所示,该流程包括如下步骤:

步骤S201,获取标准边缘线。

在本实施例中,可以通过双目重建来获取标准边缘线,即两个不同位置处的相机拍摄两张以上被扫描物体的图像,根据两张以上被扫描物体的图像来获取被扫描物体的标准边缘线,但不限于上述方式,任何可以获取标准边缘线的方法均在本申请的保护范围之内,比如,通过摄影测量或者通过光笔硬探测直接获取标准边缘线。

步骤S202,确定与标准边缘线邻近的各网格边缘顶点。

步骤S203,将各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点。

步骤S204,根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线。

在本实施例中,边缘线包括在三维网格模型中被扫描物体的边界线和被扫描物体的缝隙,其中,被扫描物体的边界线包括封闭式边界线和非封闭式边界线,请参阅图3、图4和图5,图3是根据本申请实施例的被扫描物体的封闭式边界线示意图,图4是根据本申请实施例的被扫描物体的非封闭式边界线示意图,图5是根据本申请实施例的被扫描物体的缝隙示意图。

图6是根据本申请实施例的与标准边缘线邻近的各网格边缘顶点的投影示意图,如图6所示,与标准边缘线邻近的各网格边缘顶点包括B1、C1、E1、H1、I1和K1,修正后的各网格顶点包括B2、C2、E2、H2、I2和K2,修正后的边缘线包括顶点B2、C2组成的线段、顶点C2、E2组成的线段、顶点E2、H2组成的线段、顶点H2、I2组成的线段和顶点I2、K2组成的线段。

通过上述步骤,根据获取到的标准边缘线对被扫描物体在三维网格模型中的边缘线进行修正,从而能够更加准确地确定被扫描物体的边缘信息,解决了三维扫描的边界精度无法达到要求的问题。

在其中的一些实施例中,确定与边缘线邻近的各网格边缘顶点包括:

通过将标准边缘线进行采样或者根据三维网格模型中的各网格顶点到标准边缘线的距离,确定与标准边缘线邻近的各网格边缘顶点。

在本实施例中,可以计算三维网格模型中的各网格顶点至标准边缘线的距离,判断各网格顶点至标准边缘线的距离是否在设定的阈值范围内,若是,则将该网格顶点确定为与标准边缘线邻近的网格顶点,但不限于上述这种方式确定准边缘线邻近的各网格边缘顶点,任何根据三维网格模型中的各网格顶点到标准边缘线的距离,确定与标准边缘线邻近的各网格边缘顶点均在本申请的保护范围之内,比如,根据标准边缘线的位置,在三维网格模型中确定第一空间范围,在第一空间范围中计算各网格顶点至标准边缘的距离,判断各网格顶点至标准边缘线的距离是否在设定的阈值范围内,若是,则将该网格顶点确定为与标准边缘线邻近的网格边缘顶点。

在本实施例中,可以基于几何特征的快速迭代法、基于最优化方法的黄金分割法与二次迭代法的组合法或者格点法,来计算三维网格模型中各网格顶点至标准边缘线的距离,但不限于上述几种方法计算三维网格模型中各网格顶点至标准边缘线的距离,本申请不对如何确定三维网格模型中各网格顶点至标准边缘线的距离做限定。

通过上述方式,能够准确地确定与标准边缘线邻近的各网格边缘顶点,进一步的,可根据与标准边缘线邻近的各网格边缘顶点,对被扫描物体的边缘线进行修正,从而能够更加准确地确定被扫描物体的边缘信息。

在其中的一些实施例中,通过将标准边缘线进行采样,确定与边缘线邻近的各网格边缘顶点,具体包括:

将标准边缘线进行等距离采样,得到各采样点;

根据各采样点确定与边缘线邻近的各网格边缘顶点。

进一步地,还可以将标准边缘线进行等距离采样,这样在采样时无需根据曲率大小来区别采样距离,可以大大提高获取采样点的效率。

在其中的一些实施例中,根据各采样点确定与边缘线邻近的各网格边缘顶点包括:

根据空间数据结构,确定各采样点的邻近顶点,其中,邻近顶点的个数大于或等于1;

根据各邻近顶点,确定与边缘线邻近的各网格边缘顶点。

在本实施例中,空间数据结构包括八叉树和K-D树,但不限于上述两种空间数据结构,此处不对具体是哪种空间数据结构做限定。

需要说明的是,空间数据结构(SpatiaI Data Structure)是指空间数据适合于计算机存储、管理、处理的逻辑结构,是空间数据在计算机内的组织和编码形式。

可以理解的,在本实施例中,根据空间数据结构能够快速确定采样点的邻近顶点,提高了确定采样点邻近顶点的效率。

采样距离越大,搜索到的与标准边缘线邻近的各网格边缘顶点个数越少,搜索效率快,但可能会搜索不全,采样距离越小,搜索到的与标准边缘线邻近的各网格边缘顶点个数越多,但计算量会更大,搜索效率会变慢,因此,需要选择合适的采样距离。

在其中的一些实施例中,将边缘线进行等距离采样,得到各采样点包括:

根据三维网格模型的分辨率确定采样距离;

根据采样距离将边缘线进行等距离采样,得到各采样点。

在本实施例中,根据各采样点,确定与标准边缘线邻近的各网格边缘顶点,将各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点;根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线;根据各修正后的网格顶点和修正后的边缘线,得到修正后的三维网格模型。

可以理解的,在本实施例中,根据三维网格模型的分辨率确定采样距离,根据此采样距离得到的各采样点,能够较快地搜索邻近的各网格边缘顶点,同时,能够较准确的确定与标准边缘线邻近的各网格边缘顶点。

在其中的一些实施例中,方法还包括:

根据与标准边缘线邻近的各网格边缘顶点确定以各网格边缘顶点为顶点的边界边;

若边界边的长度大于或等于第一阈值,采用一个以上分割点对边界边进行分割;

将各分割点投影至边缘线上,得到各新增的网格顶点;

确定修正后的边缘线,具体包括:根据各修正后的网格顶点和各新增的网格顶点,确定三维网格模型中修正后的边缘线。

可以理解的,若边界边的长度大于或者等于阈值,说明该边界边对应的两个网格边缘顶点之间的距离较远,此时,基于该两个网格边缘顶点,得到的修正后的两个网格顶点之间的距离较大,即基于该两个修正后的两个网格顶点得到的修正后的边缘线会不平滑,换句话说,就是这样得到的边缘线不够接近真实边缘线。因此,在本实施例中,将长度大于或者等于第一阈值的边界边进行分割,即将较长的边界边进行分割,得到各新增的网格顶点,并基于修正后的网格顶点和各新增的网格顶点,得到的三维网格模型中修正后的边缘线会更加平滑,更加趋近于真实边缘线。

在其中的一些实施例中,确定修正后的边缘线之后,方法还包括:

基于三维网格模型的网格拓扑结构,确定各修正后的网格顶点的邻近网格顶点;

对邻近网格顶点进行滤波。

在本实施例中,可以通过拉普拉斯算子或者平均曲率方法对邻近网格顶点进行滤波,但不限于上述几种方式,任何能够对邻近网格顶点进行滤波的方法均在本申请的保护范围之内。

通过上述方式,去除邻近网格顶点中的噪声,从而能够使修正后的三维网格模型的曲面更平滑。

图7是根据本申请实施例的修正方法的流程图二,如图7所示,该流程包括如下步骤:

步骤S701,获取标准边缘线。

步骤S702,通过将标准边缘线进行采样或者根据三维网格模型中的各网格顶点到标准边缘线的距离,确定与标准边缘线邻近的各网格边缘顶点。

步骤S703,将各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点。

步骤S704,根据与标准边缘线邻近的各网格边缘顶点确定以各网格顶点为顶点的边界边,若边界边的长度大于或等于第一阈值,采用一个以上分割点对边界边进行分割,将各分割点投影至边缘线上,得到各新增的网格顶点。

步骤S705,根据各修正后的网格顶点和各新增的网格顶点,确定三维网格模型中修正后的边缘线。

通过上述步骤,基于获取的标准边缘线,能够确定与标准边缘线邻近的各网格边缘顶点,再将与标准边缘线邻近的各网格边缘顶点投影至标准边缘线,从而能够更加准确地确定被扫描物体的边缘信息,解决了三维扫描的边界精度无法达到要求的问题,另外,将长度大于或者等于第一阈值的边界边进行分割,即将较长的边界边进行分割,得到各新增的网格顶点,并基于修正后的网格顶点和各新增的网格顶点,得到的三维网格模型中修正后的边缘线会更加平滑。

在本实施例中还提供了一种修正方法。图8是根据本申请实施例的修正方法的流程图三,如图8所示,该流程包括如下步骤:

步骤S801,获取待修补孔洞的标准边缘线。

在本实施例中,可以通过双目重建来获取待修补孔洞的标准边缘线,即两个不同位置处的相机拍摄两张以上待修补孔洞图像,根据两张以上待修补孔洞图像来确定待修补孔洞的标准边缘线,但不限于上述方式,任何可以获取待修补孔洞的标准边缘线的方法均在本申请的保护范围之内,比如,通过摄影测量或者通过光笔硬探测直接获取待修补孔洞的标准边缘线。

步骤S802,填充待修补孔洞,得到填充后的三维网格数据。

在本实施例中,填充待修补孔洞包括通过径向基填充待修补孔洞、通过最小角度波前法填充待修补孔洞和基于Poisson方程填充待修补孔洞,但不限于上述几种方式填充待修补孔洞,此处不对填充待修补孔洞的方式做限定。

步骤S803,将待修补孔洞的标准边缘线投影至三维网格数据,确定待修补孔洞内的三维网格数据。

步骤S804,在填充后的三维网格数据中,删除待修补孔洞内的三维网格数据,得到修补后的待修补孔洞的边缘线。

通过上述步骤,根据获取到的待修补孔洞的标准边缘线对三维网格模型中待修补孔洞的边缘线进行修正,从而能够更加准确地确定待修补孔洞的边缘线信息,解决了三维扫描的边界精度无法达到要求的问题。

在其中的一些实施例中,获取待修补孔洞的标准边缘线之前包括:

使用补光灯对待修补孔洞的附近区域进行补光或者使用具有反光材料的物品对待修补孔洞进行补光。

通过上述方式,使得待修补孔洞的边缘线与非孔洞区域的对比度更高,从而能够更加精确地获取待修补孔洞的标准边缘线。

在其中的一些实施例中,填充待修补孔洞,得到填充后的三维网格数据之前包括:

根据待修补孔洞的标准边缘线,确定待修补孔洞的位置信息。

可以理解的,在本实施例中,假设待修补孔洞为圆孔,可以根据标准边缘线的中心坐标和半径,来确定待修补孔洞的位置信息,进一步的,能够根据待修补孔洞的位置信息来填充待修补孔洞,从而能够更加精确地填充待修补孔洞,如果待修补孔洞不为圆孔,仅根据中心坐标和半径无法确定待修补孔洞的位置信息,比如,待修补孔洞为腰形孔,则需要根据腰形孔的中心坐标、长轴和短轴来确定该腰形孔的位置信息。

在其中的一些实施例中,将待修补孔洞的标准边缘线投影至三维网格数据,确定待修补孔洞内的三维网格数据,具体包括:

将待修补孔洞的标准边缘线投影至三维网格数据,确定各第一面片和各第二面片,其中,第一面片为与待修补孔洞的标准边缘线相交的面片,第二面片为待修补孔洞内且不与待修补孔洞的标准边缘线相交的面片;

根据各第一面片和待修补孔洞的标准边缘线位置,确定各第三面片,其中,第三面片位于待修补孔洞内部;

根据各第二面片和各第三面片,确定待修补孔洞内的三维网格数据。

在本实施例中,请参阅图9,图9是根据本申请实施例的待修补孔洞内的三维网格数据示意图,如图9所示,第二面片包括顶点D、F、E组成的三角形,但第二面片不限于顶点D、F、E组成的三角形,第三面片包括顶点B、D、C、E组成的四边形,但第三面片不限于顶点B、D、C、E组成的四边形,第一面片包括顶点A、D、E组成的三角形,但第一面片不限于顶点A、D、E组成的三角形,修补后的待修补孔洞的边缘线包括顶点B、C组成的线段,但修补后的待修补孔洞的边缘线不限于顶点B、C组成的线段。

通过上述方式,根据获取到的待修补孔洞的标准边缘线,能够更加精确地确定待修补孔洞内的三维网格数据,进一步的,根据此待修补孔洞内的三维网格数据,能够更加准确地确定待修补孔洞的边缘线信息,解决了三维扫描的边界精度无法达到要求的问题。

在其中的一些实施例中,根据各第一面片和待修补孔洞的标准边缘线位置,确定各第三面片包括:

根据待修补孔洞的标准边缘线位置对各第一面片进行分割,得到第四面片集合;

根据第四面片集合中位于待修补孔洞内部的面片,确定各第三面片。

在本实施例中,请参阅图10,图10是根据本申请实施例的根据待修补孔洞的标准边缘线位置对第一面片进行分割的示意图,如图10所示,第一面片包括顶点K、J、G组成的三角形,第四面片集合包括顶点G、H、I组成的三角形、H、J、I组成的三角形和J、I、K组成的三角形,第三面片包括H、J、I组成的三角形和J、I、K组成的三角形。

通过上述方式,根据本申请实施例的根据待修补孔洞的标准边缘线位置对第一面片进行分割,从而能够更加精确地确定待修补孔洞内的三维网格数据,进一步的,根据此待修补孔洞内的三维网格数据,能够更加准确地确定待修补孔洞的边缘线信息,解决了三维扫描的边界精度无法达到要求的问题。

在其中的一些实施例中,填充待修补孔洞,得到填充后的三维网格数据包括:

获取待修补孔洞的尺寸参数;

根据尺寸参数扩展待修补孔洞的面积,得到扩展后的待修补孔洞;

在三维网格模型中,根据扩展后的待修补孔洞的位置,填充扩展后的待修补孔洞,得到填充后的三维网格数据。

可以理解的,因为待修补孔洞附近的数据较差,因此,在本实施例中,根据尺寸参数将待修补孔洞的面积进行扩展,得到扩展后的待修补孔洞,进一步地,根据扩展后的待修补孔洞的位置来填充待修补孔洞,即本申请在填充待修补孔洞的过程中将待修补孔洞附近较差的数据去除,从而能够更加准确地填充待修补孔洞。

图11是根据本申请实施例的修正方法的流程图四,如图11所示,该修正方法包括如下步骤:

步骤S1101,获取待修补孔洞的标准边缘线。

步骤S1102,根据待修补孔洞的标准边缘线,确定待修补孔洞的位置信息。

步骤S1103,根据待修补孔洞的位置信息,填充待修补孔洞,得到填充后的三维网格数据。

步骤S1104,将待修补孔洞的标准边缘线投影至三维网格数据,确定各第一面片和各第二面片,其中,第一面片为与待修补孔洞的标准边缘线相交的面片,第二面片为待修补孔洞内且不与待修补孔洞的标准边缘线相交的面片。

步骤S1105,根据各第一面片和待修补孔洞的标准边缘线位置,确定各第三面片,其中,第三面片位于待修补孔洞内部。

步骤S1106,根据各第二面片和各第三面片,确定待修补孔洞内的三维网格数据。

步骤S1107,在填充后的三维网格数据中,删除待修补孔洞内的三维网格数据,得到修补后的待修补孔洞的边缘线。

通过上述步骤,根据获取到的待修补孔洞的标准边缘线,能够更加精确地确定待修补孔洞内的三维网格数据,进一步的,根据此待修补孔洞内的三维网格数据,能够更加准确地确定待修补孔洞的边缘线信息,解决了三维扫描的边界精度无法达到要求的问题。

图12是根据本申请实施例的修正方法的流程图五,如图12所示,该修正方法包括如下步骤:

步骤S1201,获取标准边缘线。

步骤S1202,对标准边缘线进行等距离采样,得各采样点。

在本实施例中,采样距离可以根据三维网格的分辨率确定。

步骤S1203,通过暴力遍历、K-D树、八叉树或者hash表确定与各采样点邻近的各网格边缘顶点。

步骤S1204,在三维网格模型中,确定与各采样点邻近的各网格边缘顶点对应的三角网格面,在该三角网格面中确定近似网格曲线。

在本实施例中,近似网格曲线为该三角网格面中与标准边缘线邻近的一条由边界边组成的折线段,请参阅图6,如图6所示,近似网格曲线包括顶点B1、C1组成的线段、顶点C1、E1组成的线段、顶点E1、H1组成的线段、顶点H1、I1组成的线段和顶点I1、K1组成的线段。

若修正的边缘线为被扫描物体的目标线特征,其中,该目标线特征为被扫描物体中待修正的线特征,比如,目标线特征为被扫描物体中的缝隙在三维网格模型中对应的线特征,通过下述方式确定该目标线特征的近似网格曲线。

根据与各采样点邻近的各网格边缘顶点的位置,确定在三维网格模型中预设范围内的三角网格,即可获取到与各采样点邻近的各网格边缘顶点对应的三角网格,在该三角网格中,根据各网格顶点确定对应的边,计算该边对应的两个面片之间的二面角,若该二面角小于或者等于第二阈值,则将该边作为与近似网格曲线对应的候选线段,或者计算三角网络模型中各网格顶点的平均曲率,将大于平均曲率的网格顶点作为候选特征点,将各候选特征点对应的边作为与近似网格曲线对应的候选线段;

将候选线段投影至标准边缘线,获取在标准边缘线上与候选线段对应的投影线段,计算投影线段与候选线段的夹角,若该夹角大于第三阈值,则将该候选线段去除,得到候选选段集合;

在候选选段集合中,通过网络拓扑结构确定一条以上的候选近似网格曲线;

若存在一条候选近似网格曲线,则将该候选近似网格曲线作为该目标线特征的近似网格曲线。

若存在两条以上的候选近似网格曲线,计算各候选近似网格曲线中各网格顶点至标准边缘线的平均距离,将该平均距离最小的候选近似网格曲线作为该目标线特征的近似网格曲线。

步骤S1205,若近似网格曲线中边界边大于或者等于设定的第一阈值,则将该边界边对应的邻接三角形分裂成多个三角形,并在三维网格模型中,重新确定近似网格曲线。

在本实施例中,在将该边界边对应的邻接三角形分裂成多个三角形后,根据步骤S1204的方法重新确定近似网格曲线,请参阅图13,图13是根据本申请实施例的将邻接三角形分裂成多个三角形的示意图,如图13所示,边界边对应的邻接三角形包括顶点G1、G2、G3组成的三角形,边界边包括顶点G2、G3组成的线段,分裂后的多个三角形包括顶点G1、G2、G4组成的三角形、顶点G1、G4、G5组成的三角形和顶点G1、G3、G5组成的三角形。

步骤S1206,将与各采样点邻近的各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点。

步骤S1207,根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线。

步骤S1208,将三维网格模型中根据各修正后的网格顶点和修正后的边缘线,得到修正后的三维网格模型。

在本实施例中,请参阅图6,如图6所示,三维网格模型中与各采样点邻近的各网格边缘顶点包括B1、C1、E1、H1、I1和K1,修正后的各网格顶点包括B2、C2、E2、H2、I2和K2,修正前的三维网格模型包括顶点A1、D1、B1组成的三角面片、顶点D1、F1、C1组成的三角面片、顶点F1、J1、E1组成的三角面片、顶点J1、L1、H1组成的三角面片和顶点L1、M1、I1组成的三角面片,修正后的三维网格模型包括顶点A1、D1、B2组成的三角面片、顶点D1、F1、C2组成的三角面片、顶点F1、J1、E2组成的三角面片、顶点J1、L1、H2组成的三角面片、顶点L1、M1、I2组成的三角面片、顶点B2、D1、C2组成的三角面片、顶点C2、F1、E2组成的三角面片、顶点E2、J1、H2组成的三角面片、顶点H2、L1、I2组成的三角面片。

通过上述步骤,根据获取到的待修补孔洞的标准边缘线对三维网格模型中待修补孔洞的边缘线进行修正,从而能够使得待修补孔洞的边缘线更加平滑、噪声小、没有锯齿,解决了三维扫描的边界精度无法达到要求的问题。

图14是根据本申请实施例的修正方法的流程图六,如图14所示,该修正方法包括如下步骤:

步骤S1401,获取待修补孔洞的相关参数。

在本实施例中待修补孔洞包括圆孔、腰型孔、矩形孔、多边形孔和钥匙孔,假设孔为圆孔,待修补孔洞的相关参数包括孔半径、与孔对应的法向量和孔的中心点坐标,但不限于上述几种待修补孔洞。

在本实施例中,可以通过双目重建来获取待修补孔洞的标准边缘线,即两个不同位置处的相机拍摄两张以上待修补孔洞图像,根据两张以上待修补孔洞图像来确定待修补孔洞的标准边缘线,但不限于上述方式,任何可以获取待修补孔洞的标准边缘线的方法均在本申请的保护范围之内,比如,通过摄影测量或者通过光笔硬探测直接获取待修补孔洞的标准边缘线。

步骤S1402,根据待修补孔洞的相关参数,扩展待修补孔洞的面积,得到第一待修补孔洞。

在本实施例中,可以根据待修补孔洞的相关参数确定三维网格模型中待修补孔洞的位置信息,根据待修补孔洞的位置信息来扩展待修补孔洞的面积,假设待修补孔洞为圆孔,该圆孔的半径为r,根据该圆孔的位置信息,可以将该圆孔的半径扩展至r+n,其中n为该圆孔扩展的半径,n>0。

步骤S1403,在三维网格模型中,删除第一待修补孔洞内的三维网格数据,得到第一孔洞。

步骤S1404,暴力遍历三维网格模型中的各网格顶点,确定第一孔洞的邻近顶点或者根据三维网格中的各网格顶点数据建立空间数据结构,根据该空间数据结构确定第一孔洞的邻近顶点集合。

在本实施例中,空间数据结构包括KD树、八叉树和hash表;暴力遍历三维网格模型中的各网格顶点,将第一孔洞内部中的各网格顶点作为第一孔洞的邻近顶点集合,或者根据所有网格顶点数据建立空间数据结构,根据该空间数据结构搜索在第一孔洞第一预设范围内的各网格顶点,从第一预设范围内的各网格顶点中筛选出第一孔洞的邻近顶点集合。

步骤S1405,根据第一孔洞的邻近顶点集合,确定第一三角形集合,其中,第一三角形中至少有一个顶点为邻近顶点。

步骤S1406,若第一三角形中有一个或者两个邻近顶点的法线与第一孔洞的法线之间的夹角小于90度,则保留第一三角形中的非邻近顶点,得到第一孔洞的边界顶点集合。

步骤S1407,在三维网格模型中,根据第一孔洞的边界顶点集合,确定第一孔洞的边界,并根据第一孔洞的的边界对第一孔洞进行填充,得到填充后的三维网格数据。

在本实施例中,各边界顶点对应的边界边组成第一孔洞的边界,填充第一孔洞包括通过径向基填充第一孔洞、通过最小角度波前法填充第一孔洞和基于Poisson方程填充第一孔洞,但不限于上述几种方式填充待修补孔洞,此处不对填充第一孔洞的方式做限定。

步骤S1408,根据待修补孔洞的相关参数将待修补孔洞投影至填充后的三维网格数据,将与投影线相交的三角网格拆分成两个以上的三角面片。

在本实施例中,请参阅图10,将与投影线相交的三角网格拆分成两个以上的三角面片。

步骤S1409,删除待修补孔洞内的所有三角面片,得到修正后的待修补孔洞的边缘线。

通过上述步骤,根据待修补孔洞的相关参数对三维网格模型中待修补孔洞的边缘线进行修正,从而能够更加准确地确定待修补孔洞的边缘线信息,解决了三维扫描的边界精度无法达到要求的问题。

在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

获取标准边缘线。

确定与标准边缘线邻近的各网格边缘顶点。

将各网格边缘顶点在标准边缘线上的投影确定为对应的各修正后的网格顶点。

根据各修正后的网格顶点,确定三维网格模型中修正后的边缘线。

需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。

此外,结合上述实施例中提供的修正方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种修正方法。

应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。

显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。

“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:孔洞修补方法、电子装置和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!