本发明涉及体积测量技术领域,尤其涉及一种双长方物体体积测量方法、系统以及设备。
背景技术:
在物流领域里,由于物体的体积涉及到物流计费、装车运输及仓库存储,所以,准确地获取物体的体积和提高计算效率极其重要。目前主要由两种应用于实际体积测量的测量方案,第一种是采用线扫描的方案,通过在待测物体周边安装三个线扫描传感器,通过这三个线扫描传感器的输出来计算待测物体的体积;第二种是采用基于三维激光相机方案来对实现对物体的体积测量方案。在第一种方案中出了不仅需要安装复杂的辅助机械结构而且整个体积检测系统体积大、成本高;而第二种测量方案只能实现对一个长方体物体体积的检测。两者都存在着测量效率低下的问题。
综上所述,现有技术中对物体的体积进行测量时,存在着测量效率低下的技术问题。
技术实现要素:
本发明提供了一种双长方物体体积测量方法、系统以及设备,解决了现有技术中对物体的体积进行测量时,存在着测量效率低下的技术问题。
本发明提供的一种双长方物体体积测量方法,包括以下步骤:
三维激光相机获取未放置的第一长方物体底平面信息以及第二长方物体的底平面信息,基于获取到的第一长方物体底平面信息以及第二长方物体的底平面信息得到三维激光相机的水平位置的调节方式;
放置第一长方物体以及第二长方物体,获取放置后的第一长方物体的底面信息以及第二长方物体的底面信息,根据水平位置的调节方式调节三维激光相机的水平位置与第一长方物体的底面以及第二长方物体的底面相垂直;
三维激光相机获取包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
优选的,调节三维激光相机的位置的具体过程如下:
对第一长方物体底平面信息以及第二长方物体的底平面信息进行视野范围外屏蔽,获得视野范围内的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据;
对第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据进行均值处理,将经过均值处理后的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据分别投影到三维坐标系的x-z平面和y-z平面,获得投影到x-z平面的数据点集和投影到y-z平面的数据点集;
分别对x-z平面的数据点集以及y-z平面的数据点集进行拟合,根据拟得到的直线斜率调节三维激光相机的位置,使得三维激光相机与第一长方物体的底平面以及第二长方物体的底平面垂直。
优选的,将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据的具体过程如下;
对三维图像信息进行滤波处理,得到仅含有第一长方物体以及第二长方物体的三维数据;
提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点;
对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度;
根据得到的旋转角度将将仅含有第一长方物体以及第二长方物体的三维数据分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据。
优选的,对三维图像信息进行滤波处理的过程为:
对三维激光相机获得三维图像信息与未放置物体状况下的底平面信息进行绝对值运算,得到仅含有第一长方物体以及第二长方物体的三维数据。
优选的,提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点的过程为:
对仅含有第一长方物体以及第二长方物体的三维数据进行投影得到投影数据,并对投影数据进行遍历,获得每行有数据的首尾点和每列有数据的首尾点,形成特征边缘点。
优选的,对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度的具体过程为:
对特征边缘点进行不断旋转,直至所有特征边缘点与投影数据的行或列的分割线无交点,获得此时的旋转度数。
优选的,投影数据的行或列的分割线的求解过程如下:
对投影数据进行遍历,找到其行或列对应的最大值和最小值;
若所述最小值到最大值的区间内不包含数据点,则此时区间的中点为分割线;
若遍历完最小值到最大值的区间均无法获得分割线,则按照旋转角度旋转特征边缘点后,再次寻找分割线。
优选的,获取第一长方物体的体积参数以及第二长方物体的体积参数的过程为:
选取第一长方物体独立的三维数据以及第二长方物体独立的三维数据中的任意一个长方物体的独立的三维数据,依据预设长方物体的高度范围进行滤波,获取该单个长方物体的上表面数据点及其侧面数据点;
对上述滤波获取的单个长方物体的上表面数据点及其侧面数据点按高度区间进行统计,将设定范围内出现频率最多的数据作为该单个长方物体的高;
再对该单个长方物体的上表面数据点及其侧面数据点进行滤波,滤波范围为该单个长方物体的高的设定误差带,获得该单个长方物体投影到三维坐标系x-y平面的数据点集;
对上述投影到x-y平面的数据点集进行凸包处理,获得凸包点;
重复上述步骤,获得该单个长方物体不同时间点返回的凸包点,对两次获得的凸包点进行设定距离范围内的比较,获得有效数据点;
对有效数据点进行矩形拟合,得到该单个长方物体的长宽信息;
选取另一个长方物体,重复上述步骤。
一种双长方物体体积测量系统,包括三维激光相机、三维激光相机位置调节模块、三维图像信息分割模块、体积参数获取模块以及体积计算模块;
所述三维激光相机用于获取第一长方物体底平面信息、第二长方物体的底平面信息、以及包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
所述三维激光相机位置调节模块用于根据第一长方物体底平面信息以及第二长方物体的底平面信息调节三维激光相机的水平位置;
所述三维图像信息分割模块用于将包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
所述体积参数获取模块用于根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
所述体积计算模块用于根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
一种双长方物体体积测量设备,包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述的一种双长方物体体积测量方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例通过采用三维激光相机获取两个待测长方物体的三维图像信息,并根据三维图像信息计算出两个待测长方物体的体积参数从而计算出两个待测长方物体的体积,本发明不需要安装复杂的辅助机械结构,测量过程简便,并且本发明打破了现有三维相机只能测量单个物体的技术限制,同时能对两个待测长方物体进行测量,大大提高了对物体体积的测量效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的方法流程图。
图2为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的系统结构图。
图3为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的设备框架图。
图4为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的三维激光相机x-z轴调整效果示意图。
图5为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的三维激光相机y-z轴调整效果示意图。
图6为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的获取特征边缘点和其旋转所求角度的图形。
图7为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的对同一物体的在不同时间采用凸包算法,经过比较滤波获得的投影到x轴和y轴构成的平面上的图形。
具体实施方式
本发明实施例提供了一种双长方物体体积测量方法、系统以及设备,解决了现有技术中对物体的体积进行测量时,存在着测量效率低下的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
请参阅图1,图1为本发明实施例提供的一种双长方物体体积测量方法、系统以及设备的方法流程图。
本发明提供的一种双长方物体体积测量方法,包括以下步骤:
三维激光相机获取未放置的第一长方物体底平面信息以及第二长方物体的底平面信息,基于获取到的第一长方物体底平面信息以及第二长方物体的底平面信息得到三维激光相机的水平位置的调节方式;
三维激光相机应用激光三维成像技术,具有测点精度高、测点密度大、信息量丰富、数据处理高度自动化、产品高度数字化等优点,其采集的三维数据,相对于图像采集设备采集图像生成图片数据而言,其受环境影响小,不会出现与因图片失真而导致测量结果输出误差的情况,可靠性高。
放置第一长方物体以及第二长方物体,获取放置后的第一长方物体的底面信息以及第二长方物体的底面信息,根据水平位置的调节方式调节三维激光相机的水平位置与第一长方物体的底面以及第二长方物体的底面相垂直;从而保证采集到的后续所采集到的数据不存在偏差。
三维激光相机获取包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
作为一个优选的实施例,调节三维激光相机的位置的具体过程如下:
对第一长方物体底平面信息以及第二长方物体的底平面信息进行视野范围外屏蔽,获得视野范围内的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据;
对第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据进行均值处理,将经过均值处理后的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据分别投影到三维坐标系的x-z平面和y-z平面,获得投影到x-z平面的数据点集和投影到y-z平面的数据点集;
分别对x-z平面的数据点集以及y-z平面的数据点集进行拟合,根据三维激光相机的坐标y-z轴对应的方向和投影到y-z轴的拟合直线的斜率的正负值大小,微调三维激光相机对应的方向,直至拟合直线的斜率落在设定的误差范围;
根据三维激光相机的坐标x-z轴对应的方向和投影到x-z轴的拟合直线的斜率的正负值大小,微调三维激光相机另外一个对应的方向直至拟合直线的斜率落在设定的误差范围;使得三维激光相机与第一长方物体的底平面以及第二长方物体的底平面垂直。
作为一个优选的实施例,将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据的具体过程如下;
对三维图像信息进行滤波处理,得到仅含有第一长方物体以及第二长方物体的三维数据;
提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点;
对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度;
根据得到的旋转角度将仅含有第一长方物体以及第二长方物体的三维数据分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据。
作为一个优选的实施例,对三维图像信息进行滤波处理的过程为:
对三维激光相机获得已放置物体与未放置物体状况下的数据之差进行绝对值运算,得到仅含有第一长方物体以及第二长方物体的三维数据。
对三维图像信息结合原始底平面三维数据进行滤波,具体为取原始底平面三维数据与三维图像数据的z轴信息即高度信息作差,取在设定的高度范围内的点,获得底平面三维数据的三维图像信息。
作为一个优选的实施例,提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点的过程为:
对仅含有第一长方物体以及第二长方物体的三维数据进行投影得到投影数据,并对投影数据进行遍历,获得每行有数据的首尾点和每列有数据的首尾点,形成特征边缘点。
获得的长方物体三维数据在数组中存储的方式与长方物体的位置相关,因此可用逐行和逐列遍历数组的首尾点的方法,形成该长方物体的特征边缘点。
作为一个优选的实施例,对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度的具体过程为:
用坐标旋转法旋转特征边缘点,确定第一长方物体以及第二长方物体三维数据点聚类的分界线和旋转角;应用dq坐标变换矩阵对特征边缘点进行旋转处理,直至所有特征边缘点与投影数据的行或列的分割线无交点,获得此时的旋转度数。
应用dq旋转矩阵,对特征边缘点进行每次旋转一定的角度,直到获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的分割线,该分割线为x轴或y轴对应的常数。在寻找分割线的过程中,需根据三维数据点间的最大距离设定分割线的宽度,取三维数据点间的最大距离的二至三倍的区间值,获得旋转后的特征边缘点。
作为一个优选的实施例,投影数据的行或列的分割线的求解过程如下:
对投影数据进行遍历,找到其行或列对应的最大值和最小值;
若所述最小值到最大值的区间内不包含数据点,则此时区间的中点为分割线;
若遍历完最小值到最大值的区间均无法获得分割线,则按照旋转角度旋转特征边缘点后,再次寻找分割线。
作为一个优选的实施例,获取第一长方物体的体积参数以及第二长方物体的体积参数的过程为:
选取第一长方物体独立的三维数据以及第二长方物体独立的三维数据中的任意一个长方物体的独立的三维数据,依据预设长方物体的高度范围进行滤波,获取该单个长方物体的上表面数据点及其侧面数据点;
对上述滤波获取的单个长方物体的上表面数据点及其侧面数据点按高度区间进行统计,将设定范围内出现频率最多的数据作为该单个长方物体的高;
再对该单个长方物体的上表面数据点及其侧面数据点进行滤波,滤波范围为该单个长方物体的高的设定误差带,获得该单个长方物体投影到三维坐标系x-y平面的数据点集;
对上述投影到x-y平面的数据点集进行凸包处理,获得凸包点;
重复上述步骤,获得该单个长方物体不同时间点返回的凸包点,对两次获得的凸包点进行设定距离范围内的比较,获得有效数据点;
对有效数据点进行矩形拟合,得到该单个长方物体的长宽信息;
选取另一个长方物体,重复上述步骤。
实施例2
如图2所示,一种双长方物体体积测量系统,包括三维激光相机201、三维激光相机位置调节模块202、三维图像信息分割模块203、体积参数获取模块204以及体积计算模块205;
所述三维激光相机201用于获取第一长方物体底平面信息、第二长方物体的底平面信息、以及包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
所述三维激光相机位置调节模块202用于根据第一长方物体底平面信息以及第二长方物体的底平面信息调节三维激光相机的水平位置;
所述三维图像信息分割模块203用于将包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
所述体积参数获取模块204用于根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
所述体积计算模块205用于根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
实施例3
如图3所示,一种双长方物体体积测量设备30,所述设备包括处理器300以及存储器301;
所述存储器301用于存储程序代码302,并将所述程序代码302传输给所述处理器;
所述处理器300用于根据所述程序代码302中的指令执行上述的一种双长方物体体积测量方法中的步骤。
示例性的,所述计算机程序302可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器301中,并由所述处理器300执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序302在所述终端设备30中的执行过程。
所述终端设备30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器300、存储器301。本领域技术人员可以理解,图3仅仅是终端设备30的示例,并不构成对终端设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器300可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器301可以是所述终端设备30的内部存储单元,例如终端设备30的硬盘或内存。所述存储器301也可以是所述终端设备30的外部存储设备,例如所述终端设备30上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器301还可以既包括所述终端设备30的内部存储单元也包括外部存储设备。所述存储器301用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器301还可以用于暂时地存储已经输出或者将要输出的数据。
实施例4
在本实施例中,具体包括以下步骤:
s10:利用三维激光相机获取若干次用于放置物体的底平面信息即基底信息。
三维激光相机应用激光三维成像技术,具有测点精度高、测点密度大、信息量丰富、数据处理高度自动化、产品高度数字化等优点,其采集的三维数据,相对于图像采集设备采集图像生成图片数据而言,其受环境影响小,不会出现与因图片失真而导致测量结果输出误差的情况,可靠性高。因此,对于步骤s10来说,利用三维激光相机获取与待测物体的底平面信息对应的三维数据,可以提高物体体积测量的可靠性。
s11:利用返回的数据调节三维激光相机与底平面垂直。
其中,返回的数据指的是取三维激光相机照到视野范围内的三维数据,并对这若干次的数据取平均值,获得基底的原始三维数据。对上述获得原始三维数据分别投影到x-z轴和y-z轴如图4、图5所示,图4为完成顺时钟逆时钟方向调整,x-z数据拟合直线斜率放大1000倍的数值为:1.5465;图5为完成上下方向的调整,x-y数据拟合直线斜率放大1000倍的数值为:-1.9138;利用拟合直线算法求其拟合直线的斜率参数,根据该斜率的正负值,调整相机对应的方向,调整相机方向在拟合得到斜率接近在设定的误差范围内,则认为完成调整相机水平的操作。
s12:三维激光相机获取两个物体的三维数据,处理三维数据以分离两个物体的有效数据。
先对第一次获得的两个物体的三维数据结合原始基底数据进行滤波,具体为取原始基底数据与两个物体三维数据的z轴信息即高度信息作差,取在设定的高度范围内的点,获得滤去基底部分的两个物体三维数据。
获得的两个物体三维数据在数组中存储的方式与物体的位置相关,因此可用逐行和逐列遍历数组的首尾点的方法,形成两个物体的特征边缘点如图6“*”点所示,为减少下一步的旋转运算的所用到数据点。
应用dq旋转矩阵,对特征边缘点进行每次旋转一定的角度,直到获得把两个物体分为两部分的分割线,该分割线为x轴或y轴对应的常数。在寻找分割线的过程中,需根据数据点间的最大距离设定分割线的宽度,取数据点间的最大距离的二至三倍的区间值,获得旋转后的特征边缘点如图6“o”所示。
记录下可获得对应x轴或y轴的分割线时的旋转角度和分割线的位置,应用dq旋转矩阵对原始的两个物体三维数据进行相同旋转角度的旋转,并根据分割线把原始两个物体三维数据分为两部分,则获得第一物体的三维数据以及第二物体的三维数据。
应用获得的旋转角度和分割线,对第二次采集的物体三维数据进行相同的旋转分割操作,获得第二次对用的两个物体的三维数据。
s13:分别处理两个物体以获得待测物体的体积参数。
先取第一次分割出来的第一物体的三维数据和第一物体对应第一次的三维数据,则得到第一物体不同时间点的两个三维数据。分别对其进行高度统计处理,求出第一物体的高,具体为:先确定高度的最大值和最小值,以最大值至最小值的区间分为若干等距离区间,并统计各区间内含数据点的个数,取数据点个数最多的区间的中点为第一物体的高度值。
取上述求得的高度值附近设定范围的数据点,滤去第一物体侧面的数据,获得设定范围内第一物体上表面的三维数据点,对上述数据点进行凸包处理,获得凸包点。同样地,对第二次获得的对应第二物体进行旋转、分割、滤波和取凸包点处理,获得第二物体的两次凸包点,如图7所示,“ ”点表示第一次凸包点数据,“o”点表示第二次凸包点数据,“.”点表示物体上表面数据。上述得到的数据为物体的体积参数。
s14:分别依据体积参数计算第一物体以及第二物体的体积。
对上述获得的两次凸包点进行举例比较处理,取第一次凸包点与第二次凸包点进行比较,若在设定范围内含有第二次所得的凸包点,则视为有效,并取其均值,比较所有凸包点后,获得该物体的有效凸包点。
对上诉有效凸包点进行矩形拟合处理,求得长宽,在根据上述求得的高,获得第一物体的体积。同理地,可获得第二物体的体积。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种双长方物体体积测量方法,其特征在于,包括以下步骤:
三维激光相机获取未放置的第一长方物体底平面信息以及第二长方物体的底平面信息,基于获取到的第一长方物体底平面信息以及第二长方物体的底平面信息得到三维激光相机的水平位置的调节方式;
放置第一长方物体以及第二长方物体,获取放置后的第一长方物体的底面信息以及第二长方物体的底面信息,根据水平位置的调节方式调节三维激光相机的水平位置与第一长方物体的底面以及第二长方物体的底面相垂直;
三维激光相机获取包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
2.根据权利要求1所述的一种双长方物体体积测量方法,其特征在于,得到三维激光相机的水平位置的调节方式的具体过程如下:
对第一长方物体底平面信息以及第二长方物体的底平面信息进行视野范围外屏蔽,获得视野范围内的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据;
对第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据进行均值处理,将经过均值处理后的第一长方物体底平面的三维数据以及第二长方物体底平面的三维数据分别投影到三维坐标系的x-z平面和y-z平面,获得投影到x-z平面的数据点集和投影到y-z平面的数据点集;
分别对x-z平面的数据点集以及y-z平面的数据点集进行拟合,根据拟得到的直线斜率调节三维激光相机的位置,使得三维激光相机与第一长方物体的底平面以及第二长方物体的底平面垂直。
3.根据权利要求2所述的一种双长方物体体积测量方法,其特征在于,将三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据的具体过程如下;
对三维图像信息进行滤波处理,得到仅含有第一长方物体以及第二长方物体的三维数据;
提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点;
对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度;
根据得到的旋转角度将仅含有第一长方物体以及第二长方物体的三维数据分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据。
4.根据权利要求3所述的一种双长方物体体积测量方法,其特征在于,对三维图像信息进行滤波处理的过程为:
对三维激光相机获得三维图像信息与未放置物体状况下的底平面信息进行绝对值运算,得到仅含有第一长方物体以及第二长方物体的三维数据。
5.根据权利要求4所述的一种双长方物体体积测量方法,其特征在于,提取仅含有第一长方物体以及第二长方物体的三维数据中的特征边缘点的过程为:
对仅含有第一长方物体以及第二长方物体的三维数据进行投影得到投影数据,并对投影数据进行遍历,获得每行有数据的首尾点和每列有数据的首尾点,形成特征边缘点。
6.根据权利要求5所述的一种双长方物体体积测量方法,其特征在于,对特征边缘点进行旋转和判别,获得将仅含有第一长方物体以及第二长方物体的三维数据进行完整分离的旋转角度的具体过程为:
对特征边缘点进行不断旋转,直至所有特征边缘点与投影数据的行或列的分割线无交点,获得此时的旋转度数。
7.根据权利要求6所述的一种双长方物体体积测量方法,其特征在于,投影数据的行或列的分割线的求解过程如下:
对投影数据进行遍历,找到其行或列对应的最大值和最小值;
若所述最小值到最大值的区间内不包含数据点,则此时区间的中点为分割线;
若遍历完最小值到最大值的区间均无法获得分割线,则按照旋转角度旋转特征边缘点后,再次寻找分割线。
8.根据权利要求7所述的一种双长方物体体积测量方法,其特征在于,获取第一长方物体的体积参数以及第二长方物体的体积参数的过程为:
选取第一长方物体独立的三维数据以及第二长方物体独立的三维数据中的任意一个长方物体的独立的三维数据,依据预设长方物体的高度范围进行滤波,获取该单个长方物体的上表面数据点及其侧面数据点;
对上述滤波获取的单个长方物体的上表面数据点及其侧面数据点按高度区间进行统计,将设定范围内出现频率最多的数据作为该单个长方物体的高;
再对该单个长方物体的上表面数据点及其侧面数据点进行滤波,滤波范围为该单个长方物体的高的设定误差带,获得该单个长方物体投影到三维坐标系x-y平面的数据点集;
对上述投影到x-y平面的数据点集进行凸包处理,获得凸包点;
重复上述步骤,获得该单个长方物体不同时间点返回的凸包点,对两次获得的凸包点进行设定距离范围内的比较,获得有效数据点;
对有效数据点进行矩形拟合,得到该单个长方物体的长宽信息;
选取另一个长方物体,重复上述步骤。
9.一种双长方物体体积测量系统,其特征在于,包括三维激光相机、三维激光相机位置调节模块、三维图像信息分割模块、体积参数获取模块以及体积计算模块;
所述三维激光相机用于获取第一长方物体底平面信息、第二长方物体的底平面信息、以及包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息;
所述三维激光相机位置调节模块用于根据第一长方物体底平面信息以及第二长方物体的底平面信息调节三维激光相机的水平位置;
所述三维图像信息分割模块用于将包含有第一长方物体三维数据以及第二长方物体三维数据的三维图像信息分割为第一长方物体独立的三维数据以及第二长方物体独立的三维数据;
所述体积参数获取模块用于根据第一长方物体独立的三维数据以及第二长方物体独立的三维数据获取第一长方物体的体积参数以及第二长方物体的体积参数;
所述体积计算模块用于根据第一长方物体的体积参数以及第二长方物体的体积参数计算第一长方物体的体积以及第二长方物体的体积。
10.一种双长方物体体积测量设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8中任意一项所述的一种双长方物体体积测量方法。
技术总结