CN110751732A - 一种2d图像转3d图像的方法 - Google Patents

一种2d图像转3d图像的方法 Download PDF

Info

Publication number
CN110751732A
CN110751732A CN201911027248.6A CN201911027248A CN110751732A CN 110751732 A CN110751732 A CN 110751732A CN 201911027248 A CN201911027248 A CN 201911027248A CN 110751732 A CN110751732 A CN 110751732A
Authority
CN
China
Prior art keywords
point
image
value
pointer
child
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
Application number
CN201911027248.6A
Other languages
English (en)
Other versions
CN110751732B (zh
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.)
Management Center Of School Of Software Ningbo Of Zhejiang University Ningbo Software Education Center
Original Assignee
Management Center Of School Of Software Ningbo Of Zhejiang University Ningbo Software Education Center
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 Management Center Of School Of Software Ningbo Of Zhejiang University Ningbo Software Education Center filed Critical Management Center Of School Of Software Ningbo Of Zhejiang University Ningbo Software Education Center
Priority to CN201911027248.6A priority Critical patent/CN110751732B/zh
Publication of CN110751732A publication Critical patent/CN110751732A/zh
Application granted granted Critical
Publication of CN110751732B publication Critical patent/CN110751732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

一种2D图像转3D图像的方法,其特征在于:它包括以下步骤:(1)通过图像处理获得图像的二维点云数据,以及图像轮廓的二维点云数据;(2)利用图像的二维点云数据,重建三维模型点云数据;(3)利用轮廓环检测方法,获得侧面的三角网格表面;(4)利用贪婪投影算法,获得顶部和底部的三角网格表面;(5)将顶部、底部和侧面的三角网格表面合并后,输出3D图像文件。该2D图像转3D图像的方法模型网格化效率高且方便快速实现个性化设计。

Description

一种2D图像转3D图像的方法
技术领域
本发明涉及三维建模技术领域,尤其涉及一种2D图像转3D图像的方法。
背景技术
2D图像转3D图像的自动转换技术目前广泛应用于各行各业中,例如在木雕行业,随着木雕手段从手工雕刻逐渐向机器雕刻演进的过程中,使得木雕成品的展示不拘泥于图片、视频,更有了三维模型这一高阶形式,三维模型不仅能用于展示,也能通过软件转变为设备的机器代码,用于模型的实物复刻,能加速木雕的设计制作。在2D图像转3D图像的过程中,涉及图像的处理、点云重建、以及点云的网格化。
在点云的网格化中,常用的贪婪投影算法需对整个面进行最小k邻搜索,涉及的点集尺度为pi*r^2(pi为圆周率,r为半径),因此模型网格化的效率非常低。
发明内容
本发明要解决的技术问题是:提供一种模型网格化效率较高的2D图像转3D图像的方法。
本发明的技术解决方案是:一种2D图像转3D图像的方法,其特征在于:它包括以下步骤:
(1)通过图像处理获得图像的二维点云数据,以及图像轮廓的二维点云数据;
(2)利用图像的二维点云数据,重建三维模型点云数据;
(3)利用轮廓环检测方法,获得侧面的三角网格表面;
(4)利用贪婪投影算法,获得顶部和底部的三角网格表面;
(5)将顶部、底部和侧面的三角网格表面合并后,输出3D图像文件。
采用上述方法后,本发明具有以下优点:本发明基于轮廓环检测方法来获取侧面的三角网格表面,可将点集缩小到尺度2*pi*r,故能加速简单曲面的生成,提高了模型的网格化效率,而基于贪婪投影算法来获取顶部和底部的三角网格表面,可以生成较为复杂的三角网片,两者的结合,不仅能加速整个模型的网格化进程,而且能获得较为精确的网格化表面。
作为优选,所述步骤(1)中通过图像处理获得图像及图像轮廓的二维点云数据的过程为:
步骤(1.1):图片加载
利用imread()函数,将2D图像读入计算机内存,并存储于图像矩阵Mat中;
步骤(1.2):图像矩阵灰度化
对步骤(1.1)所获取的图像矩阵Mat的RGB 三通道利用公式Gray = R*0.299+G*0.587+B*0.114进行处理,获得图像灰度矩阵,其中Gray为灰度值,R为红通道值,G为绿通道值,B为蓝通道值;
步骤(1.3):图像灰度矩阵平滑处理
利用高斯平滑算法,对图像灰度矩阵进行处理,以使图像灰度矩阵中的灰度变化均匀;
步骤(1.4):图像灰度矩阵二值化为图像的二维点云数据
对所获取的图像灰度矩阵设定一第一阈值,并依次判断图像灰度矩阵的各像素点的灰度值是否小于第一阈值,若是,则保留相应像素点的下标值,并将该下标值作为图像二维点云数据的X,Y值,以此获得图像的二维点云数据,同时将该像素点的灰度值设置为0,若否,则不保留,同时将该像素点的灰度值设置为255,下标值为各像素点在灰度矩阵中的横向、纵向标号;
步骤(1.5):提取图像灰度矩阵的图像轮廓矩阵
利用Laplacian算子检测二值化的灰度图像的轮廓,将所得到的轮廓存储于图像轮廓矩阵中;
步骤(1.6):图像轮廓矩阵二值化为图像轮廓点云
对所获取的图像轮廓矩阵设定一第二阈值,并依次判断图像轮廓矩阵的各像素点的灰度值是否大于第一阈值,若是,则保留相应像素点的下标值,并将该下标值作为图像轮廓二维点云数据的X,Y值,以此获得图像轮廓的二维点云数据,若否,则不保留下标值。
该设置利用已有的高斯平滑算法处理图像,可减少噪点对后面三角网格化的影响,利用laplacian算子提取出轮廓的点集,用轮廓环提取算法将轮廓环有序提取出、进而构造模型侧面三角网片、与贪婪投影顶部底部网格化算法结合使用加速整个模型的网格化进程。
作为优选,所述步骤(2)中利用图像的二维点云数据,得到三维模型点云数据的过程为:
对图像二维点云数据,为图像二维点云数据附加一个z值,用于将平面的图像二维点云数据拉升成两个面的三维模型点云数据,z为三维模型的高度。
该设置可快速获得三维点。
作为优选,所述步骤(3)中利用轮廓环检测方法获得模型侧面的三角网格表面的过程为:
步骤(3.1)、利用步骤(1)中获取的图像轮廓的二维点云数据,为该图像轮廓的二维点云数据添加一个索引映射访问数组,提取索引映射访问数组所指向的第一个点;
步骤(3.2)、建立一个点指针,将其指向索引映射访问数组的第一个点,并将该点作为环首元素;
步骤(3.3)、判断该点指针是否为空,若为空,则执行步骤(3.4),不为空,则执行步骤(3.9);
步骤(3.4)、查看该点所对应的索引映射访问数组对应的元素值,如果元素值表示该点已经被记录访问过,则点指针指向索引映射访问数组的下一个点,并返回执行步骤(3.3),如果元素值表示该点未被记录访问过,则将其记录在索引映射访问数组中,同时开辟一个环,并将其作为环首元素,执行步骤(3.5);
步骤(3.5)、建立一个父点指针,将其指向点指针所指向的点;
步骤(3.6)、以父点指针所指向的点为中心,利用kd树数据结构,查找距离父点指针所指向的点最近的N个子点,并对该N个子点距离父点指针所指向的点的长度进行从小到大的排序,将父点指针指向排序后的第一个子点,并执行步骤(3.7);
步骤(3.7)、判断父点指针所对应的N个子点是否都已访问完毕,若访问完毕,则返回步骤(3.6)且返回值为假,若否,则执行步骤(3.8);
步骤(3.8)、如果子点对应的索引映射访问数组的元素值为未访问,则执行步骤(3.9),若子点对应的索引映射访问数组的元素值为已访问,则检查子点是否为环首元素,若为环首元素,则继续判断环内点数是否大于第三阈值,若环内点数大于第三阈值,则返回步骤(3.6)且返回值为真,并跳出本层递归,若否,则结束本次循环,将父点指针指向下一个子点,继续执行步骤(3.7);
步骤(3.9)、若子点到父点指针所指向的点的距离大于设定的最大距离,则返回步骤(3.6)且返回值为假,跳出本层递归,若子点到父点指针所指向的点的距离小于设定的最大距离时,则将该子点对应的索引映射访问数组的元素值置为已访问,将该子点作为父点指针所指元素,递归到步骤(3.6),并检查步骤(3.6)的返回值,如果为真,则将该子点加入环中,返回步骤(3.6)且返回值为真,跳出本层递归,如果为假,则重新将该子点对应的索引映射访问数组的元素值设为未访问,返回步骤(3.6)且返回值为假,跳出本层递归;
步骤(3.10)、对经由上述步骤得到的轮廓环串成的环链表,依次访问各环,取所取环的父点指针所指向的点,为此点添加与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点一,再为此点加上与步骤(2)上表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点二,为该父点指针所对应的子点,加上与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点三,三顶点组成了第一三角网片,取该父点指针所对应的子点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点一,取子点为其附上与步骤(2)下表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点二,取父点指针所指向的点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点三,三顶点组成了第二三角网片,将第二三角网片链接在第一三角网片上后,将子点作为父点指针所指向的点,继续构建三角网片,将新建的三角网片链接于上一个三角网片后,直至轮廓环中所有的点全部被访问完毕,得到模型侧面的三角网格表面。
采用上述轮廓环检测方法算法简单、执行效率高,对简单曲面生成效果良好。
附图说明:
图1为本发明2D图像3D图像的方法的流程示意图;
图2为本发明基于轮廓环检测算法生成侧面三角网格表面的流程示意图;
图3为本发明利用贪婪投影算法获得顶部和底部的三角网格表面的流程示意图。
具体实施方式
下面结合附图,并结合实施例对本发明做进一步的说明。
实施例:
一种2D图像转3D图像的方法,它包括以下步骤:
(1)通过图像处理获得图像的二维点云数据,以及图像轮廓的二维点云数据;
(2)利用图像的二维点云数据,重建三维模型点云数据;
(3)利用轮廓环检测方法,获得侧面的三角网格表面;
(4)利用贪婪投影算法,获得顶部和底部的三角网格表面;
(5)将顶部、底部和侧面的三角网格表面合并后,输出3D图像文件。
所述步骤(1)中通过图像处理获得图像及图像轮廓的二维点云数据的过程为:
步骤(1.1):图片加载
利用opencv的imread()函数,将2D图像读入计算机内存,并存储于图像矩阵Mat中;
步骤(1.2):图像矩阵灰度化
对步骤(1.1)所获取的图像矩阵Mat的RGB 三通道利用公式Gray = R*0.299+G*0.587+B*0.114进行处理,获得图像灰度矩阵,其中Gray为灰度值,R为红通道值,G为绿通道值,B为蓝通道值;
步骤(1.3):图像灰度矩阵平滑处理
利用高斯平滑算法,对图像灰度矩阵进行处理,以使图像灰度矩阵中的灰度变化均匀;本例使用了GaussianBlur(grey, grey1, Size(3, 3), 0, 0, 4),参数1、2、3、4、5分别代表输入矩阵,输出矩阵、内核大小、sigmaX、sigmaY、边界类型;
步骤(1.4):图像灰度矩阵二值化为图像的二维点云数据
对所获取的图像灰度矩阵设定一第一阈值,并依次判断图像灰度矩阵的各像素点的灰度值是否小于第一阈值,本实施例中设置第一阈值为180,若是,则保留相应像素点的下标值,并将该下标值作为图像二维点云数据的X,Y值,以此获得图像的二维点云数据,同时将该像素点的灰度值设置为0,若否,则不保留下标值,同时将该像素点的灰度值设置为255,下标值为各像素点在灰度矩阵中的横向、纵向标号;
步骤(1.5):提取图像灰度矩阵的图像轮廓矩阵
利用Laplacian算子检测二值化的灰度图像的轮廓,将所得到的轮廓存储于图像轮廓矩阵中;本实施例中使用了Laplacian(tmp, grey, CV_8U, 1, 1, 0, 1)函数,参数1、2、3、4、5、6、7分别代表输入矩阵、输出矩阵、图像类型、卷积计算时的孔径大小、计算后的系数值、del值、边界类型;
步骤(1.6):图像轮廓矩阵二值化为图像轮廓点云
对所获取的图像轮廓矩阵设定一第二阈值,并依次判断图像轮廓矩阵的各像素点的灰度值是否大于第二阈值,若是,则保留相应像素点的下标值,并将该下标值作为图像轮廓二维点云数据的X,Y值,以此获得图像轮廓的二维点云数据,若否,则不保留下标值。
所述步骤(2)中利用步骤(1)得到的图像的二维点云数据,得到三维模型点云数据的过程为:
对图像二维点云数据,为图像二维点云数据附加一个z值,用于将平面的图像二维点云数据拉升成两个面的三维模型点云数据,z为三维模型的高度。
所述步骤(3)中利用轮廓环检测方法获得模型侧面的三角网格表面的过程为:
步骤(3.1)、利用步骤(1)中获取的图像轮廓的二维点云数据,为该图像轮廓的二维点云数据添加一个索引映射访问数组,提取索引映射访问数组所指向的第一个点;
步骤(3.2)、建立一个点指针,将其指向索引映射访问数组的第一个点,并将该点作为环首元素;
步骤(3.3)、判断该点指针是否为空,若为空,则执行步骤(3.4),不为空,则执行步骤(3.9);
步骤(3.4)、查看该点所对应的索引映射访问数组对应的元素值,如果元素值表示该点已经被记录访问过,则点指针指向索引映射访问数组的下一个点,并返回执行步骤(3.3),如果元素值表示该点未被记录访问过,则将其记录在索引映射访问数组中,同时开辟一个环,并将其作为环首元素,执行步骤(3.5);
步骤(3.5)、建立一个父点指针,将其指向点指针所指向的点;
步骤(3.6)、以父点指针所指向的点为中心,利用kd树数据结构,查找距离父点指针所指向的点最近的N个子点,并对该N个子点距离父点指针所指向的点的长度进行从小到大的排序,将父点指针指向排序后的第一个子点,并执行步骤(3.7),本实施例中N设置为60;
步骤(3.7)、判断父点指针所对应的N个子点是否都已访问完毕,若访问完毕,则返回步骤(3.6)且返回值为假,若否,则执行步骤(3.8);
步骤(3.8)、如果子点对应的索引映射访问数组的元素值为未访问,则执行步骤(3.9),若子点对应的索引映射访问数组的元素值为已访问,则检查子点是否为环首元素,若为环首元素,则继续判断环内点数是否大于第三阈值,若环内点数大于第三阈值,则返回步骤(3.6)且返回值为真,并跳出本层递归,若否,则结束本次循环,将父点指针指向下一个子点,继续执行步骤(3.7),本实施例中第三阈值设置为30;
步骤(3.9)、若子点到父点指针所指向的点的距离大于设定的最大距离,本实施例中设定的最大距离为80,则返回步骤(3.6)且返回值为假,跳出本层递归,若子点到父点指针所指向的点的距离小于设定的最大距离时,则将该子点对应的索引映射访问数组的元素值置为已访问,将该子点作为父点指针所指元素,递归到步骤(3.6),并检查步骤(3.6)的返回值,如果为真,则将该子点加入环中,返回步骤(3.6)且返回值为真,跳出本层递归,如果为假,则重新将该子点对应的索引映射访问数组的元素值设为未访问,返回步骤(3.6)且返回值为假,跳出本层递归;
步骤(3.10)、对经由上述步骤得到的轮廓环串成的环链表,依次访问各环,取所取环的父点指针所指向的点,为此点添加与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点一,再为此点加上与步骤(2)上表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点二,为该父点指针所对应的子点,加上与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点三,三顶点组成了第一三角网片,取该父点指针所对应的子点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点一,取子点为其附上与步骤(2)下表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点二,取父点指针所指向的点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点三,三顶点组成了第二三角网片,将第二三角网片链接在第一三角网片上后,将子点作为父点指针所指向的点,继续构建三角网片,将新建的三角网片链接于上一个三角网片后,直至轮廓环中所有的点全部被访问完毕,得到模型侧面的三角网格表面。
所述步骤(4)中利用贪婪投影算法获得顶部和底部的三角网格表面的过程如图3所示,该步骤为现有技术,它还细化为以下步骤:
步骤(4.1)、设定输入的kd搜索树;
步骤(4.2)、设定贪婪投影的参数;
步骤(4.3)、执行贪婪投影算法,获得三角化的网格表面。
另外对本发明涉及的一些算法进行简单的解释:
1.图片的降噪--高斯平滑算法:高斯平滑滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
2.图片轮廓的提取--laplacian算子:图像轮廓为图像中变化剧烈点所练成的曲线,因此可以使用二阶导数来提取出轮廓,在此使用了laplacian算子∇^2=(∂^2 f)/(∂x^2 )+(∂^2f)/(∂y^2)来提取图像轮廓。以下为laplacian算子数值形式的推导:
对f(x)泰勒展开
f(x+∆x)≈f(x)+f^' (x)∆x+1/2 f''(x)〖∆x〗^2;
f(x-∆x)≈f(x)-f'(x)∆x+1/2 f''(x)〖∆x〗^2;
f(x+∆x)+f(x-∆x)≈2f(x)+f''(x)〖∆x〗^2;
f^'' (x)≈(f(x+∆x)+f(x-∆x)-2 f(x))/〖∆x〗^2
在图像矩阵中以每一个像素点的列行值作为x,y,∆x=1;
于是可得laplacian算子
∇^2=(∂^2 f)/(∂x^2 )+(∂^2 f)/(∂y^2 )=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)
将laplacian算子写成模板形式:
0 1 0
1 -4 1
0 1 0
在提取轮廓时利用laplacian算子与图像做卷积,可得到显著的轮廓特征。
3.贪婪投影三角化算法:将三维点云通过法线投影到某一平面,然后对该平面上的点云作三角化操作,将其分割成一个个的小三角形。在此平面的三角化,利用了Delaunay的空间区域增长算法。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.一种2D图像转3D图像的方法,其特征在于:它包括以下步骤:
(1)通过图像处理获得图像的二维点云数据,以及图像轮廓的二维点云数据;
(2)利用图像的二维点云数据,重建三维模型点云数据;
(3)利用轮廓环检测方法,获得侧面的三角网格表面;
(4)利用贪婪投影算法,获得顶部和底部的三角网格表面;
(5)将顶部、底部和侧面的三角网格表面合并后,输出3D图像文件。
2.根据权利要求1所述的一种2D图像转3D图像的方法,其特征在于:所述步骤(1)中通过图像处理获得图像及图像轮廓的二维点云数据的过程为:
步骤(1.1):图片加载
利用imread()函数,将2D图像读入计算机内存,并存储于图像矩阵Mat中;
步骤(1.2):图像矩阵灰度化
对步骤(1.1)所获取的图像矩阵MatRGB三通道利用公式Gray = R*0.299+G*0.587+ B*0.114进行处理,获得图像灰度矩阵,其中Gray为灰度值,R为红通道值,G为绿通道值,B为蓝通道值;
步骤(1.3):图像灰度矩阵平滑处理
利用高斯平滑算法,对图像灰度矩阵进行处理,以使图像灰度矩阵中的灰度变化均匀;
步骤(1.4):图像灰度矩阵二值化为图像的二维点云数据
对所获取的图像灰度矩阵设定一第一阈值,并依次判断图像灰度矩阵的各像素点的灰度值是否小于第一阈值,若是,则保留相应像素点的下标值,并将该下标值作为图像二维点云数据的X,Y值,以此获得图像的二维点云数据,同时将该像素点的灰度值设置为0,若否,则不保留下标值,且将该像素点的灰度值设置为255,下标值为各像素点在灰度矩阵中的横向、纵向标号;
步骤(1.5):提取图像灰度矩阵的图像轮廓矩阵
利用Laplacian算子检测二值化的灰度图像的轮廓,将所得到的轮廓存储于图像轮廓矩阵中;
步骤(1.6):图像轮廓矩阵二值化为图像轮廓点云
对所获取的图像轮廓矩阵设定一第二阈值,并依次判断图像轮廓矩阵的各像素点的灰度值是否大于第二阈值,若是,则保留相应像素点的下标值,并将该下标值作为图像轮廓的二维点云数据的X,Y值,以此获得图像轮廓的二维点云数据,若否,则不保留下标值。
3.根据权利要求1所述的一种2D图像转3D图像的方法,其特征在于:所述步骤(2)中利用图像的二维点云数据,得到三维模型点云数据的过程为:
对图像二维点云数据,为图像二维点云数据附加一个z值,用于将平面的图像二维点云数据拉升成两个面的三维模型点云数据,z为三维模型的高度值。
4.根据权利要求1所述的一种2D图像转3D图像的方法,其特征在于:所述步骤(3)中利用轮廓环检测方法获得侧面的三角网格表面的过程为:
步骤(3.1)、利用步骤(1)中获取的图像轮廓的二维点云数据,为该图像轮廓的二维点云数据添加一个索引映射访问数组,提取索引映射访问数组所指向的第一个点;
步骤(3.2)、建立一个点指针,将其指向索引映射访问数组的第一个点,并将该点作为环首元素;
步骤(3.3)、判断该点指针是否为空,若为空,则执行步骤(3.4),不为空,则执行步骤(3.9);
步骤(3.4)、查看该点所对应的索引映射访问数组对应的元素值,如果元素值表示该点已经被记录访问过,则点指针指向索引映射访问数组的下一个点,并返回执行步骤(3.3),如果元素值表示该点未被记录访问过,则将其记录在索引映射访问数组中,同时开辟一个环,并将其作为环首元素,执行步骤(3.5);
步骤(3.5)、建立一个父点指针,将其指向点指针所指向的点;
步骤(3.6)、以父点指针所指向的点为中心,利用kd树数据结构,查找距离父点指针所指向的点最近的N个子点,并对该N个子点距离父点指针所指向的点的长度进行从小到大的排序,将父点指针指向排序后的第一个子点,并执行步骤(3.7);
步骤(3.7)、判断父点指针所对应的N个子点是否都已访问完毕,若访问完毕,则返回步骤(3.6)且返回值为假,若否,则执行步骤(3.8);
步骤(3.8)、如果子点对应的索引映射访问数组的元素值为未访问,则执行步骤(3.9),若子点对应的索引映射访问数组的元素值为已访问,则检查子点是否为环首元素,若为环首元素,则继续判断环内点数是否大于第三阈值,若环内点数大于第三阈值,则返回步骤(3.6)且返回值为真,并跳出本层递归,若否,则结束本次循环,将父点指针指向下一个子点,继续执行步骤(3.7);
步骤(3.9)、若子点到父点指针所指向的点的距离大于设定的最大距离,则返回步骤(3.6)且返回值为假,跳出本层递归,若子点到父点指针所指向的点的距离小于设定的最大距离时,则将该子点对应的索引映射访问数组的元素值置为已访问,将该子点作为父点指针所指元素,递归到步骤(3.6),并检查步骤(3.6)的返回值,如果为真,则将该子点加入环中,返回步骤(3.6)且返回值为真,跳出本层递归,如果为假,则重新将该子点对应的索引映射访问数组的元素值设为未访问,返回步骤(3.6)且返回值为假,跳出本层递归;
步骤(3.10)、对经由上述步骤得到的轮廓环串成的环链表,依次访问各环,取所取环的父点指针所指向的点,为此点添加与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点一,再为此点加上与步骤(2)上表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点二,为该父点指针所对应的子点,加上与步骤(2)下表面相同的z轴坐标,变为三维点,作为第一三角网片的顶点三,三顶点组成了第一三角网片,取该父点指针所对应的子点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点一,取子点为其附上与步骤(2)下表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点二,取父点指针所指向的点,为其附上与步骤(2)上表面相同的z轴坐标,构成三维点,作为第二三角网片的顶点三,三顶点组成了第二三角网片,将第二三角网片链接在第一三角网片上后,将子点作为父点指针所指向的点,继续构建三角网片,将新建的三角网片链接于上一个三角网片后,直至轮廓环中所有的点全部被访问完毕,得到模型侧面的三角网格表面。
CN201911027248.6A 2019-10-27 2019-10-27 一种2d图像转3d图像的方法 Active CN110751732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911027248.6A CN110751732B (zh) 2019-10-27 2019-10-27 一种2d图像转3d图像的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911027248.6A CN110751732B (zh) 2019-10-27 2019-10-27 一种2d图像转3d图像的方法

Publications (2)

Publication Number Publication Date
CN110751732A true CN110751732A (zh) 2020-02-04
CN110751732B CN110751732B (zh) 2023-09-19

Family

ID=69280208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911027248.6A Active CN110751732B (zh) 2019-10-27 2019-10-27 一种2d图像转3d图像的方法

Country Status (1)

Country Link
CN (1) CN110751732B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815691A (zh) * 2020-09-10 2020-10-23 熵智科技(深圳)有限公司 一种网格数据结构的邻域访问方法、装置、设备及介质
CN112581621A (zh) * 2020-12-01 2021-03-30 中国船舶重工集团公司第七一六研究所 一种三维点云钢板空间尺寸在线提取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067461A1 (en) * 2001-09-24 2003-04-10 Fletcher G. Yates Methods, apparatus and computer program products that reconstruct surfaces from data point sets
US20030112235A1 (en) * 2001-12-19 2003-06-19 Earth Science Associates, Inc. Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system
CN101290222A (zh) * 2008-06-13 2008-10-22 北京天下图数据技术有限公司 通过真正射影像快速构建三维建筑物场景的方法
CN109993783A (zh) * 2019-03-25 2019-07-09 北京航空航天大学 一种面向复杂三维建筑物点云的屋顶及侧面优化重建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067461A1 (en) * 2001-09-24 2003-04-10 Fletcher G. Yates Methods, apparatus and computer program products that reconstruct surfaces from data point sets
US20030112235A1 (en) * 2001-12-19 2003-06-19 Earth Science Associates, Inc. Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system
CN101290222A (zh) * 2008-06-13 2008-10-22 北京天下图数据技术有限公司 通过真正射影像快速构建三维建筑物场景的方法
CN109993783A (zh) * 2019-03-25 2019-07-09 北京航空航天大学 一种面向复杂三维建筑物点云的屋顶及侧面优化重建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
靳鑫洋等: "一种基于Delaunay三角网边长阈值与激光点云的建筑立面结构提取方法" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815691A (zh) * 2020-09-10 2020-10-23 熵智科技(深圳)有限公司 一种网格数据结构的邻域访问方法、装置、设备及介质
CN112581621A (zh) * 2020-12-01 2021-03-30 中国船舶重工集团公司第七一六研究所 一种三维点云钢板空间尺寸在线提取方法
CN112581621B (zh) * 2020-12-01 2024-02-13 中国船舶集团有限公司第七一六研究所 一种三维点云钢板空间尺寸在线提取方法

Also Published As

Publication number Publication date
CN110751732B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
Fuhrmann et al. Mve-a multi-view reconstruction environment.
CN103759671B (zh) 一种牙模三维表面数据非接触扫描方法
CN105303616B (zh) 基于单张照片的浮雕建模方法
CN106296638A (zh) 显著性信息取得装置以及显著性信息取得方法
CN109580630A (zh) 一种机械零部件缺陷的视觉检测方法
CN106062824B (zh) 边缘检测装置和边缘检测方法
CN110223376B (zh) 一种基于单幅堆积颗粒材料图像的三维颗粒重建方法
CN110751732A (zh) 一种2d图像转3d图像的方法
CN109242923B (zh) 一种迭代重建的系统和方法
CN106023271A (zh) 一种靶标中心坐标提取方法及装置
CN115541030B (zh) 高炉炉顶料面温度分布的识别方法、装置及存储介质
CN114612318B (zh) 基于文物ct图像轮廓线的三维建模方法、系统及设备
CN108597589B (zh) 模型生成方法、目标检测方法及医学成像系统
CN112215770B (zh) 一种图像处理方法及系统及装置及介质
JP5560925B2 (ja) 3次元形状検索装置、3次元形状検索方法、及びプログラム
WO2020186900A1 (zh) 窄条二维码、窄条二维码的生成、识别方法、装置及设备
JP6546385B2 (ja) 画像処理装置及びその制御方法、プログラム
CN104239874A (zh) 一种器官血管识别方法及装置
CN112002019B (zh) 一种基于mr混合现实的模拟人物阴影的方法
CN110569943B (zh) 一种基于三维码的优化方法及系统
CN109658522B (zh) 一种用于三维二值图像连通体标记的临时标号合并处理的简化方法
CN107067432A (zh) 石英棒检测中圆边界的确定方法
CN105389775A (zh) 融合图像灰度特征与结构化表示的图像群组配准方法
CN105513044B (zh) 一种基于统计度量直线特征的数字直线段识别方法
JP2006185038A (ja) 4次元ラベリング装置、n次元ラベリング装置、4次元空間フィルタ装置およびn次元空間フィルタ装置

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