具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
图1示出了本发明实施例提供的3D扫描的纹理获取的方法流程图一,详述如下:
一种3D扫描的纹理获取的方法,包括以下步骤:
步骤S101,进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
在本发明实施例中,一共进行两圈扫描,第一圈扫描时,开启激光,同时启动转台,即进入模型扫描阶段,获取每一帧激光的光条图像,提取出每一帧光条图像中的2D图像坐标,即光条的中心位置(理想的光条中心位置为一条细线),将2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云。
步骤S102,进入第二圈扫描,关闭激光,获取颜色图像,根据所述2D图像坐标提取颜色图像中对应坐标的颜色,根据所述2D图像坐标的排列,生成对应的2D纹理图。
在本发明实施例中,第二圈扫描用于获取纹理,为了还原真实颜色,扫描时关闭激光,获取每一帧的颜色图像,根据第一圈扫描中光条图像中的2D图像坐标提取第二圈扫描中颜色图像中对应坐标的颜色,并根据2D图像坐标的排列,生成对应的2D纹理图,完成纹理的获取。
图2示出了本发明实施例提供的3D扫描的纹理获取的方法流程图二,详述如下:
步骤S201,进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
步骤S202,提取所述光条图像的第一帧图像,达到预设时间或预设帧数后,将当前帧图像与所述第一帧图像进行图像匹配,若匹配成功,执行步骤S203;
步骤S203,统计第一圈图像帧数n。
在本发明实施例中,在第一圈扫描中还包括闭环检测,用于检测第一圈扫描记录光条图像的每一帧以及总帧数,同时在完成第一圈扫描时控制激光的关闭,以便第二圈扫描提取纹理。
在进入第一圈扫描时,开启激光,获取激光的光条图像,提取所述光条图像的第一帧图像,可以通过预设时间或预设帧数后,开始图像的匹配,将获取的当前帧图像与第一帧图像进行匹配,若匹配成功,则统计第一圈扫描的图像总帧数n,若匹配失败,则闭环检测失败,重新扫描。
将当前帧图像与第一帧图像进行图像匹配具体通过以下方法:
步骤S211,计算当前帧图像的匹配系数,并判断当前帧图像的匹配系数是否大于匹配系数阈值,是则将所述当前帧图像的匹配系数加入匹配集中;
在本实施例中,在经过预设时间或预设帧数后,对获取的当前帧图像计算匹配系数,判断当前帧图像的匹配系数是否大于预设匹配系数阈值,若是,则将当前帧图像的匹配系数加入匹配集中待筛选最大匹配系数,若否,则丢弃该当前帧图像的匹配系数。另外,可以在第一预设时间或预设帧数后,不针对每一帧图像进行匹配,在第二预设时间或预设帧数后,增大匹配频率,即在接近第一圈扫描结束时,对每一帧图像进行系数匹配,从而减少后台运算。
步骤S212,在所述匹配集中筛选最大匹配系数,若所述最大匹配系数连续N次处于极大值,则匹配成功。
在本实施例中,在匹配集中筛选最大匹配系数,若该最大匹配系数连续N次处于极大值,则说明匹配系数达到峰值,匹配成功。
步骤S204,进入第二圈扫描,关闭激光,获取颜色图像,根据所述2D图像坐标提取颜色图像中对应坐标的颜色,根据所述2D图像坐标的排列,生成对应的2D纹理图。
图3示出了本发明实施例提供的3D扫描的纹理获取的方法流程图三,详述如下:
步骤S301,进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
步骤S302,提取所述光条图像的第一帧图像,达到预设时间或预设帧数后,将当前帧图像与所述第一帧图像进行图像匹配,若匹配成功,执行步骤S203;
步骤S303,第一圈图像帧数n;
步骤S304,进入第二圈扫描,关闭激光,获取颜色图像;
步骤S305,获取光条图像第i帧图像的坐标序列,按y坐标从小到大排列,根据所述光条图像第i帧图像的坐标序列提取颜色图像第i帧图像的颜色序列,将所述颜色序列写入到2D纹理的第i列,其中,1≤i≤n;
步骤S306,判断i是否等于n,若否则执行步骤S307,若是则执行步骤S308;
步骤S307,执行i++,并返回步骤S305;
步骤S308,完成2D纹理图的生成。
在本发明实施例中,纹理提取思想是:转台转第二圈时,关闭激光,根据第一圈光条图像的坐标,提取第二圈对应光条图像帧的颜色,例如,根据第一圈扫描第10帧光条图像某个点的坐标为(x,y),提取第二圈扫描第10帧颜色图像中坐标(x,y)的颜色。
具体的纹理提取为,创建一个空纹理,其行数等于颜色图像帧的行数,列数等于光条图像的帧数,如图4所示,通过获取每一帧光条图像的坐标序列,且按照y坐标从小到大排列,对应提取每一帧颜色图像的的坐标序列的颜色序列,即将提取的颜色序列,写入到纹理图第i列中,其中光条图像的y坐标与纹理图第i列第y行对应,即完成2D纹理图的生成。
图5示出了本发明实施例提供的3D扫描的纹理获取的方法流程图四,详述如下:
步骤S501,进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
步骤S502,提取所述光条图像的第一帧图像,达到预设时间或预设帧数后,将当前帧图像与所述第一帧图像进行图像匹配,若匹配成功,执行步骤S503;
步骤S503,第一圈图像帧数n;
步骤S504,进入第二圈扫描,关闭激光,获取颜色图像;
步骤S505,计算激光平面与摄像头中心平面之间的图像帧数之差M,判断转台是否从激光平面转向摄像头中心平面,是则执行步骤S506,否则执行步骤S507;步骤S506,第二圈扫描结束时,则将前M帧颜色图像插入到颜色图像的队尾,并执行步骤S508;
步骤S507,第二圈扫描结束时,将最后M帧颜色图像插入到颜色图像的队首,并执行步骤S508;
步骤S508,获取光条图像第i帧图像的坐标序列,按y坐标从小到大排列,根据所述光条图像第i帧图像的坐标序列提取颜色图像第i帧图像的颜色序列,将所述颜色序列写入到2D纹理的第i列,其中,1≤i≤n;
步骤S509,判断i是否等于n,若否则执行步骤S510,若是则执行步骤S511;
步骤S510,执行i++,并返回步骤S508;
步骤S511,完成2D纹理图的生成。
在本发明实施例中,与上一实施例不同在于,上一实施例的纹理提取方案是光条图像坐标与颜色图像坐标提取一一对应,而本实施例不是采用一一对应的方式。但是为了提取纹理的准确性,需要摄像头的中心竖直平面和激光平面过转台旋转轴,如图6-7所示,与上一实施例不同的是,上一实施例中,获取光条图像,摄像头获取的图像是从激光平面开始获取,即是从位置2开始获取图像,而本实施例中,获取颜色图像,摄像头获取的图像是从摄像头中心平面开始获取,即是从位置1开始获取图像,因此,若转台从激光平面转向摄像头中心平面扫描时,第二圈扫描获取的图像相比第一圈扫描超前M帧;若转台从摄像头中心平面转向激光平面,第二圈扫描获取的图像相比第一圈扫描延迟M帧。
计算激光平面与摄像头中心平面之间的图像帧数之差M,计算方法为:
M=n*theta/360;其中n表示转台旋转一周的图像帧数,theta表示激光平面和摄像头中心平面之间的夹角。
作为本发明的另一实施例,在完成纹理获取后,对所述光条3D点云三角化,并将所述光条3D点云的顶点与所述2D纹理图一一映射,生成3D模型。
通过对光条3D点云三角化,并将光条3D点云的顶点与2D纹理图一一映射,生成3D模型,完成整个扫描建模过程。
图8示出了本发明实施例提供的3D扫描的纹理获取的装置示意图一,详述如下:
3D激光扫描的纹理获取的装置,包括:
光条3D点云生成单元71进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
2D纹理图生成单元72进入第二圈扫描,关闭激光,获取颜色图像,根据所述2D图像坐标提取颜色图像中对应坐标的颜色,根据所述2D图像坐标的排列,生成对应的2D纹理图。
在本发明实施例中,一共进行两圈扫描,第一圈扫描时,开启激光,同时启动转台,即进入模型扫描阶段,第二圈扫描时,关闭激光,进入纹理获取阶段。具体的技术方案在方法实施例中已经描述,在此不再赘述。
图9示出了本发明实施例提供的3D扫描的纹理获取的装置示意图二,详述如下:
3D扫描的纹理获取的装置,包括:
光条3D点云生成单元71进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
闭环检测单元73提取所述光条图像的第一帧图像,达到预设时间或预设帧数后,将当前帧图像与所述第一帧图像进行图像匹配,若匹配成功,统计第一圈图像帧数n;
在本发明实施例中,在第一圈扫描中还包括闭环检测,用于检测第一圈扫描记录光条图像的每一帧以及总帧数,同时在完成第一圈扫描时控制激光的关闭,以便第二圈扫描提取纹理。
其中,闭环检测单元73包括匹配系数计算模块7301计算当前帧图像的匹配系数,并判断当前帧图像的匹配系数是否大于匹配系数阈值,是则将所述当前帧图像的匹配系数加入匹配集中;
匹配系数筛选模块7302在所述匹配集中筛选最大匹配系数,若所述最大匹配系数连续N次处于极大值,则匹配成功。
2D纹理图生成单元72进入第二圈扫描,关闭激光,获取颜色图像,根据所述2D图像坐标提取颜色图像中对应坐标的颜色,根据所述2D图像坐标的排列,生成对应的2D纹理图。
其中,2D纹理图生成单元72包括颜色序列写入模块一7201获取光条图像第i帧图像的坐标序列,按y坐标从小到大排列,根据所述光条图像第i帧图像的坐标序列提取颜色图像第i帧图像的颜色序列,将所述颜色序列写入到2D纹理的第i列,其中,1≤i≤n;
纹理生成模块一7202判断i是否等于n,若否则执行i++,并返回执行颜色序列写入模块一;若是则完成2D纹理图的生成。
在本发明实施例中,转台转第二圈时,关闭激光,根据第一圈光条图像的坐标,提取第二圈对应光条图像帧的颜色。
3D模型生成单元74对所述光条3D点云三角化,并将所述光条3D点云的顶点与所述2D纹理图一一映射,生成3D模型。
在本发明实施例中,还包括3D模型生成单元74,通过对光条3D点云三角化,并将光条3D点云的顶点与2D纹理图一一映射,生成3D模型,完成整个扫描建模过程。
在本发明实施例中,具体的纹理提取过程在方法实施例中已经描述,在此不再赘述。
图10示出了本发明实施例提供的3D扫描的纹理获取的装置示意图三,详述如下:
3D扫描的纹理获取的装置,包括:
光条3D点云生成单元71进入第一圈扫描,开启激光,获取激光的光条图像,提取所述光条图像的2D图像坐标,将所述2D图像坐标转化为转台坐标系下的3D图像坐标,生成光条3D点云;
闭环检测单元73提取所述光条图像的第一帧图像,达到预设时间或预设帧数后,将当前帧图像与所述第一帧图像进行图像匹配,若匹配成功,统计第一圈图像帧数n;
其中,闭环检测单元73包括匹配系数计算模块7301计算当前帧图像的匹配系数,并判断当前帧图像的匹配系数是否大于匹配系数阈值,是则将所述当前帧图像的匹配系数加入匹配集中;
匹配系数筛选模块7302在所述匹配集中筛选最大匹配系数,若所述最大匹配系数连续N次处于极大值,则匹配成功。
2D纹理图生成单元72进入第二圈扫描,关闭激光,获取颜色图像,根据所述2D图像坐标提取颜色图像中对应坐标的颜色,根据所述2D图像坐标的排列,生成对应的2D纹理图。
其中,2D纹理图生成单元包括扫描调整模块7211计算激光平面与摄像头中心平面之间的图像帧数之差M,判断转台是否从激光平面转向摄像头中心平面,若是则第二圈扫描结束时,将前M帧颜色图像插入到颜色图像的队尾;若否则第二圈扫描结束时,将最后M帧颜色图像插入到颜色图像的队首;
颜色序列写入模块二7212获取光条图像第i帧图像的坐标序列,按y坐标从小到大排列,根据所述光条图像第i帧图像的坐标序列提取颜色图像第i帧图像的颜色序列,将所述颜色序列写入到2D纹理的第i列,其中,1≤i≤n;
纹理生成模块二7213判断i是否等于n,若否则执行i++,并返回步骤A2;若是则完成2D纹理图的生成。
3D模型生成单元74对所述光条3D点云三角化,并将所述光条3D点云的顶点与所述2D纹理图一一映射,生成3D模型。
在本发明实施例中,与上一实施例不同在于,上一实施例的纹理提取方案是光条图像坐标与颜色图像坐标提取一一对应,而本实施例不是采用一一对应的方式。但是为了提取纹理的准确性,需要摄像头的中心竖直平面和激光平面过转台旋转轴。具体的纹理提取过程在方法实施例中已经描述,在此不再赘述。
图11示出了本发明实施例提供的移动终端的结构框图,详述如下:
一种移动终端,包括存储器101、处理器102及存储在存储器上并可在处理器上运行的计算机程序,所述处理器102执行所述程序时实现上述方法实施例中任意一项方法的步骤。
具体的方法步骤在方法实施例中已经描述,在此不再赘述。
在本发明实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例任意一项所述方法的步骤。
具体的方法步骤在方法实施例中已经描述,在此不再赘述。
与现有技术相比,本发明通过两圈扫描,第一圈扫描开启激光,获得激光光条3D点云,第二圈扫描关闭激光,提取纹理,实现简单,操作便捷,运算少,处理速度快,提取的纹理完整性好。
值得注意的是,本领域普通技术人员可以理解:实现上述方法实施例的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以不再进行赘述,相关之处参见方法实施例的部分说明即可。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。