对象的体积的确定方法、装置、存储介质和电子装置与流程

文档序号:19933275发布日期:2020-02-14 22:16阅读:96来源:国知局
对象的体积的确定方法、装置、存储介质和电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种对象的体积的确定方法、装置、存储介质和电子装置。



背景技术:

目前,在确定待测对象的体积时,可以通过采用非接触式的光电体积测量方法进行。非接触式的光电体积测量方法是通过对待测对象从最底面到最高点进行逐层扫描,来获取构成待测对象的外表面的密集点云的空间三维信息,然后根据获取到的待测物体的空间三维信息和相关算法计算出待测对象的体积。具体可以通过上机位机控制摄像头和线激光发射器作为三维数据获取和数据处理单元,单片机控制步进电机作为机械控制单元,串口通信单元使上位机和单片机这两个核心控制模块协同工作,以达到测量待测对象的体积的目的。

上述方法对硬件设备的依赖性比较强,硬件成本相对比较高,不能很灵活地移动硬件设备,从而随身便携性不够好,使得确定对象的体积的灵活性低。

针对相关技术中的由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种对象的体积的确定方法、装置、存储介质和电子装置,以至少解决由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题。

为了实现上述目的,根据本发明的一个方面,提供了一种对象的体积的确定方法。该方法可以包括:获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值;对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域;基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺;从第一图像中识别出待测对象的图像轮廓;基于比例尺和待测对象的图像轮廓确定待测对象的体积。

可选地,从第一图像中识别出待测对象的图像轮廓包括:将第一图像转化为灰度图像;对灰度图像进行自适应阈值处理,得到第三图像;对第三图像进行膨胀处理,得到待测对象的图像轮廓。

可选地,该方法还包括:对第一图像进行凸包检测,得到多个凸多边形,其中,每个凸多边形的内部包括待测对象表面上的点集;通过多个凸多边形确定目标函数,其中,目标函数用于拟合待测对象的图像的轮廓。

可选地,基于比例尺和待测对象的图像轮廓确定待测对象的体积包括:通过目标函数确定待测对象的图像的多条原始边长;通过比例尺确定每条原始边长对应的待测对象的真实边长,得到多条真实边长;通过多条真实边长确定待测对象的体积。

可选地,目标函数为多边形拟合函数,通过目标函数确定待测对象的图像的多条原始边长包括:通过多边形拟合函数确定对应的目标多边形的多个顶点;通过多个顶点确定待测对象的图像的多条原始边长。

可选地,对第一图像进行二值化处理,得到第二图像包括:基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像。

可选地,基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像包括:获取参照对象的图像颜色特征对应的像素值;将像素值确定为二值化分割点;在第一区域的像素值与二值化分割点满足第一数值关系的情况下,将第一区域的颜色确定为第一颜色;在第一区域的像素值与二值化分割点满足第二数值关系的情况下,将第一区域的颜色确定为第二颜色。

可选地,待测对象的图像特征包括:待测对象的图像颜色特征和/或待测对象的图像棱角特征;参照对象的图像特征包括:在待测对象的图像特征包括待测对象的图像颜色特征的情况下,参照对象的图像特征为参照对象的图像颜色特征;在待测对象的图像特征包括待测对象的棱角特征的情况下,参照对象的图像特征为待测对象的图像棱角特征。

为了实现上述目的,根据本发明的另一方面,还提供了一种对象的体积的确定装置。该装置可以包括:获取单元,用于获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值;处理单元,用于对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域;第一确定单元,用于基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺;识别单元,用于从第一图像中识别出待测对象的图像轮廓;第二确定单元,用于基于比例尺和待测对象的图像轮廓确定待测对象的体积。

为了实现上述目的,根据本发明的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的对象的体积的确定方法。

为了实现上述目的,根据本发明的另一方面,还提供了一种电子装置。该电子装置可以包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的对象的体积的确定方法。

通过本发明,采用获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值;对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域;基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺;从第一图像中识别出待测对象的图像轮廓;基于比例尺和待测对象的图像轮廓确定待测对象的体积。也就是说,本申请基于图像识别先确定参照对象的图像轮廓,然后基于参照对象的图像轮廓和实际轮廓确定比例尺,进而根据该比例尺和待测对象的图像轮廓,确定待测对象的体积,从而避免依赖硬件设备确定对象的体积,解决了由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,进而达到了提高确定对象的体积的灵活性的技术效果。

附图说明

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

图1是本发明实施例的一种对象的体积的确定方法的移动终端的硬件结构框图;

图2是根据本发明实施例的一种对象的体积的确定方法的流程图;

图3是根据相关技术中的一种通过光电体积测量方法来测量待测对象的体积的方法的流程图;

图4是根据相关技术中的一种视角下的光电体积测量的硬件结构的示意图;

图5是根据相关技术中的另一种视角下的光电体积测量的硬件结构的示意图;

图6是根据本发明实施例的一种基于图像识别的测量待测对象的体积的方法的流程图;

图7是根据本发明实施例的一种包括待测对象的图像和参照对象的图像的照片的示意图;

图8是根据本发明实施例的一种拍摄的照片的rgb彩色图像转换为hsv图像的示意图;

图9是根据本发明实施例的一种对hsv图像进行二值化处理得到的处理结果的示意图;

图10是根据奔放实施例的一种对二值化处理的图像进行腐蚀处理和膨胀处理后得到的结果的示意图;

图11是根据本发明实施例的一种参照对象的图像轮廓的示意图;

图12是根据本发明实施例的一种自适应阈值找待测对象的图像轮廓的示意图;

图13是根据本发明实施例的一种确定待测对象对应的目标多边形的示意图;

图14是根据本发明实施例的一种目标多边形的顶点的示意图;以及

图15是根据本发明实施例的一种对象的体积的确定装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

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

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

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

在本实施例中提供了一种运行于上述移动终端的一种对象的体积的确定方法,图2是根据本发明实施例的一种对象的体积的确定方法的流程图。如图2所示,该流程可以包括如下步骤:

图2是根据本发明实施例的一种对象的体积的确定方法的流程图。如图2所示,该方法可以包括以下步骤:

步骤s202,获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像。

在本发明上述步骤s202提供的技术方案中,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值。

在该实施例中,待测对象可以是需要测量体积的被测物体,该被测物体可以是长方体、正方体、圆锥体以及其它的可以由规整的多边形组成的物体,比如,该待测对象为箱体。该实施例的参照对象是用于确定待测对象的体积的标准参照物,可以是长方形、正方形、圆形、椭圆以及其它的可以由规整的多边形组成的形状,比如,该参照对象可以为一张a4纸,此处不做任何限制。该实施例的待测对象可以比参照对象复杂很多,颜色各异,上面可能还以附着物,比如,附有各种图案、文字或胶带等。

在该实施例中,将待测对象与参照对象放在一起,比如,将参照对象贴在待测对象上,获取第一图像,该第一图像可以是通过图像采集装置获取到的包括待测对象的图像和参照对象的彩色图像(rgb图像,r用于表示红颜色通道,g用于表示绿颜色通道,b用于表示蓝颜色通道)。该实施例可以将参照对象与待测对象放在一起,通过图像采集装置对参照对象与待测对象进行拍摄,其中,在通过图像采集装置对参照对象与待测对象进行拍摄时,参照对象的摆放面,可以满足待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值的条件,也即,该目标阈值用于衡量待测对象的图像特征与参照对象的图像特征之间的相似度的临界值,使得在待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值时,所选择的参照对象的图像特征与待测对象的图像特征之间差别比较显著,比如,所选择的参照对象的颜色特征与待测对象的颜色特征差别比较显著。另外,在通过图像采集装置对参照对象与待测对象进行拍摄时,可以尽量使背景干净,且单一,拍摄的角度可以保证同时看到待测对象的边长尺寸等,比如,可以看到待测对象的长度、宽度、高度等。

步骤s204,对第一图像进行二值化处理,得到第二图像。

在本发明上述步骤s204提供的技术方案中,在获取第一图像之后,对第一图像进行二值化处理,得到第二图像。其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域。

在该实施例中,由于参照对象的图像特征和待测对象的图像特征之间的差别比较显著,可以从第一图像中通过识别图像特征来识别参照对象的图像,比如,可以从第一图像中通过识别图像颜色来识别参照对象的图像。可选地,该实施例可以将为rgb图像的第一图像转化为hsv图像(h用于表示色调,s用于表示饱和度,v用于表示明度),可以对为hsv图像的第一图像进行二值化处理,该二值化处理为将hsv图像上的像素点的灰度值设置为0或255,也即,将整个hsv图像呈现出明显的只有黑色和白色的视觉效果,可以通过设定二值化分割点,将第一图像中大于二值化分割点的像素设置为白色(或黑色),小于分割点的像素,设置为黑色(或白色),从而得到第二图像,该第二图像为对hsv图像的第一图像进行二值化处理得到的二值化结果,用于识别参照对象的图像,其中,第二图像中具有参照对象的图像对应的第一区域,其呈现为第一颜色,比如,第一颜色为白色,第二图像还具有第二图像中除第一区域之外的剩余区域,其呈现为第二颜色,比如,第二颜色为黑色。

步骤s206,基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺。

在本发明上述步骤s206提供的技术方案中,在对第一图像进行二值化处理,得到第二图像之后,基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺。

在该实施例中,在对第一图像进行二值化处理,得到第二图像时,可能会引入二值化的噪声信息,为了消除二值化的噪声信息的影响,该实施例可以对第二图像进行腐蚀处理和膨胀处理,其中,对第二图像进行腐蚀处理为去除第二图像周围的白色噪声块的处理,对第二图像进行膨胀处理为去除第二图像内部的黑色噪声块的处理。该实施例可以基于经腐蚀处理和膨胀处理后的第一区域确定参照对象的图像轮廓,可以通过轮廓查找的方式,将查找到的最大外轮廓确定为参照对象的轮廓,比如,对于处理好的白色区域,通过轮廓查找的方式,将查找到的最大外轮廓确定为参照对象的轮廓。

在该实例中,在通过第一区域确定参照对象的图像轮廓之后,可以确定参照对象的图像轮廓的顶点,比如,参照对象的图像轮廓为矩形,则确定矩形顶点,通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺,也即,该比例尺为实物与图像的比例尺,通过参照对象的图像轮廓的尺寸和参照对象的真实轮廓的尺寸计算比例尺,比如,用参照对象的真实轮廓的长度和宽度分部除以参照对象的图像轮廓的长度和宽度,从而得到实物与图像的比例尺,其中,参照对象的真实轮廓的尺寸可以容易获取到。

步骤s208,从第一图像中识别出待测对象的图像轮廓。

在本发明上述步骤s208提供的技术方案中,可以从第一图像中识别出待测对象的图像轮廓,该待测对象的图像轮廓可以是闭合轮廓,可以是通过去掉第一图像中无关的边线,使得图像轮廓更加逼近于只关注的待测对象的真实轮廓的闭合轮廓。

步骤s210,基于比例尺和待测对象的图像轮廓确定待测对象的体积。

在本发明上述步骤s210提供的技术方案中,通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺,且从第一图像中识别出待测对象的图像轮廓之后,可以基于比例尺和待测对象的图像轮廓确定待测对象的体积。

在该实施例中,由于比例尺为通过参照对象的图像轮廓的尺寸和参照对象的真实轮廓的尺寸确定得到的,因而,在获取待测对象的图像轮廓之后,可以通过比例尺和待测对象的图像轮廓计算得到待测对象的真实轮廓的尺寸,进而通过该待测对象的真实轮廓的尺寸按照计算体积的公式计算得到待测对象的体积,比如,该待测对象为长方体,通过比例尺计算待测对象的实际的长度、宽度、高度,进而将该长度、宽度、高度三者之积确定为待测对象的体积。

通过上述步骤s202至步骤s210,采用获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值;对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域;基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺;从第一图像中识别出待测对象的图像轮廓;基于比例尺和待测对象的图像轮廓确定待测对象的体积。也就是说,本申请基于图像识别先确定参照对象的图像轮廓,然后基于参照对象的图像轮廓和实际轮廓确定比例尺,进而根据该比例尺和待测对象的图像轮廓,确定待测对象的体积,从而避免依赖硬件设备确定对象的体积,解决了由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,进而达到了提高确定对象的体积的灵活性的技术效果。

下面对该实施例的上述方法进行进一步介绍。

作为一种可选的实施方式,步骤s208,从第一图像中识别出待测对象的图像轮廓包括:将第一图像转化为灰度图像;对灰度图像进行自适应阈值处理,得到第三图像;对第三图像进行膨胀处理,得到待测对象的图像轮廓。

在该实施例中,由于待测对象可以相比参照对象复杂很多,在实现从第一图像中识别出待测对象的图像轮廓时,可以先将为rgb图像的第一图像转化为灰度图像,也即,将彩色图像先转化为用灰度表示的图像,进而对灰度图像进行自适应阈值处理,得到第三图像,其中,在对灰度图像进行自适应阈值处理时,可以是将灰度图像分割为多个更小的区域进行判断,该多个区域具有不同亮度,阈值是根据该灰度图像上的每一个小区域计算得到的对应的阈值,因此在同一灰度图像上的不同区域可以采用不同的阈值将对应的区域分为背景和目标两部分,可以极大地降低阴影对于图像本身的影响,以使能在亮度不同的情况下,仍然可以得到更好的处理效果。在对灰度图像进行自适应阈值处理,得到第三图像之后,对第三图像进行膨胀处理,也即,去除第三图像中的黑色噪声块,从而得到待测对象的图像轮廓。

作为一种可选的实施方式,该方法还包括:对第一图像进行凸包检测,得到多个凸多边形,其中,每个凸多边形的内部包括待测对象表面上的点集;通过多个凸多边形确定目标函数,其中,目标函数用于拟合待测对象的图像的轮廓。

在该实施例中,凸包(convexhull)是一个计算几何(图形学)中的概念,它的严格的数学定义为在一个向量空间v中,对于给定集合x,将所有包含x的凸集的交集s称为x的凸包。

该实施例对第一图像进行凸包检测,可以通过凸包检测算法对第一图像进行凸包检测,得到多个凸多边形,每个凸多边形的内部都可以包括待测对象表面上的点集,从而对第一图像进行凸包检测的过程为确定能包含第一图像中的待测对象的表面所有点集的凸多边形的过程,其中,凸包检测算法可以为graham扫描法。

在对第一图像进行凸包检测,得到多个凸多边形之后,可以通过多个凸多边形确定用于拟合待测对象的图像的轮廓的目标函数,可以对通过凸包检测算法得到的多个凸多边形进行函数拟合,并动态调整拟合精度,从而不断逼近待测对象的图像的轮廓,从而找到最逼近待测对象的图像的轮廓的目标函数,该目标函数可以为凸包拟合的凸多边形的数学表示。

作为一种可选的实施方式,步骤s210,基于比例尺和待测对象的图像轮廓确定待测对象的体积包括:通过目标函数确定待测对象的图像的多条原始边长;通过比例尺确定每条原始边长对应的待测对象的真实边长,得到多条真实边长;通过多条真实边长确定待测对象的体积。

在该实施例中,由于目标函数用于拟合待测对象的图像轮廓,该待测对象的图像轮廓可以通过待测对象的多条原始边长进行表示,进而可以通过目标函数确定待测对象的图像的多条原始边长。由于比例尺为通过参照对象的图像轮廓和参照对象的真实轮廓确定得到的,从而可以通过比例尺确定每条原始边长对应的待测对象的真实边长,得到多条真实边长,进而通过体积计算公式对多条真实边长进行计算,得到待测对象最终的体积,比如,待测对象为长方体,多条真实边长为立方体的长度、宽度、高度,进而通过多条真实边长确定待测对象的体积,比如,将长度、宽度、高度之积确定为待测对象的体积,达到了基于比例尺和待测对象的图像轮廓确定待测对象的体积的目的,从而不强依赖硬件设备,提高了确定待测对象的体积的灵活性的技术效果。

作为一种可选的实施方式,目标函数为多边形拟合函数,通过目标函数确定待测对象的图像的多条原始边长包括:通过多边形拟合函数确定对应的目标多边形的多个顶点;通过多个顶点确定待测对象的图像的多条原始边长。

在该实施例中,目标函数可以为多边形拟合函数,在通过目标函数确定待测对象的图像的多条原始边长时,就可以通过多边形拟合函数确定对应的目标多边形的多个顶点,可以对该多个顶点进行排序,进而确定每条原始边长。

作为一种可选的实施方式,步骤s204,对第一图像进行二值化处理,得到第二图像包括:基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像。

在该实施例中,在对第一图像进行二值化处理时,可以采用颜色阈值二值化的方式,对第一图像进行二值化处理,以得到第二图像,可以定义出参照对象的图像颜色特征,以对hsv图像的第一图像进行二值化处理,得到第二图像,使得第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,比如,第二图像中的参照对象对应的区域为白色,而其它区别为黑色。

作为一种可选的实施方式,基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像包括:获取参照对象的图像颜色特征对应的像素值;将像素值确定为二值化分割点;在第一区域的像素值与二值化分割点满足第一数值关系的情况下,将第一区域的颜色确定为第一颜色;在第一区域的像素值与二值化分割点满足第二数值关系的情况下,将第一区域的颜色确定为第二颜色。

在该实施例中,第一区域为第一图像中参照对象的图像对应的区域,在实现基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像时,可以获取参照对象的图像颜色特征对应的像素值,然后以此作为二值化处理的二值化分割点,可以在第一区域的像素值与二值化分割点满足第一数值关系的情况下,比如,第一数值关系为第一区域的像素值大于等于二值化分割点的数值关系,则将第一区域的颜色确定为第一颜色,该第一颜色可以白色。在第一区域的像素值与二值化分割点满足第二数值关系的情况下,比如,该第二数值关系为第一区域的像素值小于二值化分割点的数值关系,可以将第一区域的颜色确定为第二颜色,该第二颜色可以为黑色,从而实现基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像的目的目的。

作为另一种可选的示例,第一数值关系为第一区域的像素值小于二值化分割点的关系,将第一区域的颜色确定为第一颜色,该第一颜色可以白色。第二数值关系可以为第一区域的像素值大于等于二值化分割点的关系,将第一区域的颜色确定为第二颜色,该第二颜色可以为黑色,从而实现基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像的目的。

作为一种可选的实施方式,待测对象的图像特征包括:待测对象的图像颜色特征和/或待测对象的图像棱角特征;参照对象的图像特征包括:在待测对象的图像特征包括待测对象的图像颜色特征的情况下,参照对象的图像特征为参照对象的图像颜色特征;在待测对象的图像特征包括待测对象的棱角特征的情况下,参照对象的图像特征为待测对象的图像棱角特征。

在该实施例中,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值,也即,参照对象的图像特征与待测对象的图像特征之间的差异性比较显著,可以是参照对象的图像颜色特征与待测对象的图像颜色特征之间的差异性比较显著,也即,将图像颜色特征与待测对象的图像颜色特征之间的差异性比较显著的对象,确定为用于确定待测对象的体积的参照对象;该实施例还可以是参照对象的图像棱角特征与待测对象的图像棱角特征之间的差异性比较显著,也即,将图像棱角特征与待测对象的图像棱角特征之间的差异性比较显著的对象,确定为用于确定待测对象的体积的参照对象。

需要说明的是,该实施例提供了一种不依赖硬件设备的灵活的、低成本、准确率高的基于图像识别的体积测量方法,只需要在任意的嵌入式设备上调用对应的图像识别的接口(api),就可以执行本发明实施例的上述方法,检测出待测对象的体积,也即,基于图像识别先确定参照对象的图像轮廓,然后基于参照对象的图像轮廓和实际轮廓确定比例尺,进而根据该比例尺和待测对象的图像轮廓,确定待测对象的体积,从而避免依赖硬件设备确定对象的体积,解决了由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,进而达到了提高确定对象的体积的灵活性的技术效果。

下面结合优选的实施方式对本发明的技术方案进行说明。

本发明的实施的对象的体积的确定方法可以为基于图像识别的物体体积测量的方法,涉及计算机图像识别领域。

在相关技术中,通常采用非接触式的光电体积测量方法来测量待测对象的体积,通过对待测对象从最底面到最高点进行逐层扫描,来获取用于构成待测对象外表面的密集点云的三维坐标数据,然后根据获取的待测对象的三维坐标数据和相关算法计算出待测对象的体积。

图3是根据相关技术中的一种通过光电体积测量方法来测量待测对象的体积的方法的流程图。如图3所示,该方法包括以下步骤:

步骤s301,待测对象通过cmos成像和扫描光圈进行处理,得到待测对象的图像。

步骤s302,待测对象的图像通过边缘提取方法,得到二值化图像。

步骤s303,二值化图像通过点云提取方法,得到外表面二维点云坐标数据。

步骤s304,外表面二维点云坐标数据通过高度维信息匹配方法,得到外表面三维点云坐标数据。

步骤s305,对外表面三维点云坐标数据进行体积计算,得到待测对象的实际体积。

图4是根据相关技术中的一种视角下的光电体积测量的硬件结构的示意图。如图4所示,该硬件结构可以包括激光管41、激光管42、激光管43、步进电机44、步进电机45、微距摄像头46,用于对待测对象47的体积进行测量。

图5是根据相关技术中的另一种视角下的光电体积测量的硬件结构的示意图。其中的已经结构与图4所示的相同,此处不再赘述。

在图4和图5所示的光电体积测量的硬件结构中,光电体积测量是基于机器视觉测量技术设计的,采用了结构光测量的方法,结构光测量方法的基本原理是通过激光管向待测对象的表面投射结构光的图样,其中,激光管为一种结构光投射器,然后获得由于物体高度变化而产生的变形图像,从而实现物体的三维轮廓的测量。该实施例的上机位机控制coms摄像头和激光管作为三维数据获取和数据处理单元,单片机控制步进电机作为机械控制单元,串口通信单元使上位机和单片机的这两个核心控制模块协同工作,以达到体积测量的目的。

由上述可知,相关技术中的待测对象的体积的检测方法最大的问题是,对硬件设备的依赖性比较强,并且成本相对比较高,而且不能很灵活的移动硬件设备,随身便携性也不够好。显然,上述方法在需要灵活移动和低成本的测量待测对象的体积的场景,是无法满足要求的。

对于上述问题,本发明提供了一种不依赖硬件设备的灵活的、低成本、准确率高的基于图像识别的体积测量方法,只需要在任意的嵌入式设备上调用对应的图像识别的api就可以测出待测对象的体积。

图6是根据本发明实施例的一种基于图像识别的测量待测对象的体积的方法的流程图。如图6所示,该方法可以包括以下步骤:

步骤s601,选择标准的参照对象。

在该实施例中,参照对象可以具有固定长度和宽度,为一张a4纸。

该实施例可以选择快递盒上的白色面单为参照对象。

步骤s602,将参照对象与需要测量的待测对象放在一起,并获取包括待测对象的图像和参照对象的图像。

在该实施例中,拍摄的照片的背景尽量干净,背景单一,拍摄角度需要满足能同时看到物体的长度、宽度、高度的条件,参照对象的摆放面尽量选择与待测对象的颜色有明显对比的部位。

图7是根据本发明实施例的一种包括待测对象的图像和参照对象的图像的照片的示意图。如图7所示,该实施例的待测对象为快递盒的箱体,参照对象为快递盒上的白色面单。

步骤s603,从图像中识别出参照对象的图像。

在该实施例中,由于参照对象的颜色特征跟快递盒的箱体的颜色区别很大,有显著的特征,所以可以从颜色识别提取。该实施例可以先将包括待测对象的图像和参照对象的图像的rgb彩色图像,转换为hsv图像,以识别出参照对象的图像。

图8是根据本发明实施例的一种拍摄的照片的rgb彩色图像转换为hsv图像的示意图。如图8所示,hsv的含义是色调(h),饱和度(s),亮度(v),可以通过运行代码imgproc.cvtcolor(image,hsvimg,imgproc.color_bgr2hsv)进行实现。

步骤s604,根据颜色阈值二值化,定义出参照对象的颜色特征,然后以此为阈值,对hsv图像进行二值化处理。

图9是根据本发明实施例的一种对hsv图像进行二值化处理得到的处理结果的示意图。如图9所示,采用颜色阈值二值化对hsv图像进行二值化处理的结果为,参照对象对应的区域呈现白色,而其它区域都是黑色。可以采用如下代码进行实现:

calarminvalues=newscalar(100,43,46);

scalarmaxvalues=newscalar(124,255,255);

matthreshimg=hsvutils.maskthreshold(hsvimg,minvalues,maxvalues).

步骤s605,对二值化处理的图像进行腐蚀处理和膨胀处理。

图10是根据奔放实施例的一种对二值化处理的图像进行腐蚀处理和膨胀处理后得到的结果的示意图。如图10所示,在该实施例中,为了消除二值化的噪声影响,该实施例需要对二值化的图像进行腐蚀处理,以去除周围的白色噪声块,并且对二值化的图像进行膨胀处理,以去除内部的黑色噪声块。可以通过如下代码进行实现:

scalarminvalues=newscalar(100,43,46);

scalarmaxvalues=newscalar(124,255,255);

matthreshimg=hsvutils.maskthreshold(hsvimg,minvalues,maxvalues).

步骤s606,确定参照对象的图像轮廓。

图11是根据本发明实施例的一种参照对象的图像轮廓的示意图。如图11所示,在该实施例中,对处理好的白色块,可以通过轮廓查找,将查找出的最大的外轮廓确定为参照对象的图像轮廓。

在找出参照对象的轮廓后,找到矩形顶点计算像素和真实长度之间的比例尺。

可选地,输入参照对象的处理好的白色块图片,计算白色块的长度和宽度,并用参照对象对应的长度和宽度分部除以白色块的长度和宽度,得到实物与图像的比例尺。可以通过如下,来代码实现输入处理好的白色块图片,计算白色块的长度和宽度,并用参照对象的长度和宽度分部除以白色块的长度和宽度,得到参照对象实际的尺寸与图像的尺寸之间的比例尺的逻辑:

list<matofpoint>refercontours=newarraylist<matofpoint>();

matofpointmaxrefercontour=contoursutils.findmaxcontour(binimg);

matofpoint2fcurve=newmatofpoint2f(maxrefercontour.toarray());

imgproc.approxpolydp(curve,approxcurve,15,true);

refercontours.add(approxcurve.dump());

point[]points=approxcurve.toarray();

intx0=mathutils.min(points[0].x,points[1].x,points[2].x,point[3].x);

inty0=mathutils.min(points[0].y,points[1].y,points[2].y,point[3].y);

intwidth=mathutils.max(points[0].x,points[1].x,points[2].x,points[3].x)-x0;

intheight=mathutils.max(points[0].y,points[1].y,points[2].y,points[3].y)-y0;

system.out.println(“width:”+width+“,height:”+height);

deximalformatdf=newdecimalformat(“#.00”);

doublewratio=double.parsedouble(df.format(10.00/width));

doublehratio=double.parsedouble(df.format(8.00/height));

system.out.println(“参照物横向比例尺”+wratio+“(cm/pixel),纵向比例尺:”+hratio+“(cm/pixel).

步骤s607,通过自适应阈值确定待测对象的图像轮廓。

图12是根据本发明实施例的一种自适应阈值找待测对象的图像轮廓的示意图。如图12所示,在该实施例中,待测对象一般相比参照对象复杂很多,颜色各异,且上面可能还附有各种图案、文字或胶带。该实施例可以先将将彩色图片转为灰度图,再对其进行自适应阈值处理,进而进行膨胀处理,得到闭合轮廓,使得图像去掉无关的边线,显现的轮廓更加趋近只关注的待测对象的真实的闭合轮廓。

步骤s608,通过轮廓凸包检测和多边形拟合凸包边框,确定最逼近待测对象的图像轮廓的拟合函数。

图13是根据本发明实施例的一种确定待测对象对应的目标多边形的示意图。如图13所示,轮廓凸包检测为寻找一个能包含待测对象的表面所有点集的凸多边形的过程,这个过程会用到凸包检测算法,比如,graham扫描法;多边形拟合凸包边框就是对通过凸包检测算法得到的多边形进行函数拟合,并动态调整精度,不断逼近待测对象的轮廓,从而找到最逼近待测对象的轮廓的拟合函数,该拟合函数可以为多边形拟合函数,可以用于确定待测对象对应的目标多边形。可以通过如下代码实现:

imgproc.convexhull(maxcontour,hull);

imgproc.approxpolydp(contourhull,approxcurvewhole,

imgproc.arclength(contourhull,true)*0.02,true)。

步骤s609,确定目标多边形的顶点,按照比例尺计算待测对象的体积。

图14是根据本发明实施例的一种目标多边形的顶点的示意图。如图14所示,多个小圆圈用于表示目标多边形的多个顶点,可以对目标多边形的多个顶点进行排序,按照参照物的比例尺,计算待测对象的实际的长度、宽度、高度,比如,计算得到待测对象的长度为22.2cm,宽度为19.86cm,高度为19.14cm,通过长度、宽度、高度三者之间的积,就可以得到最终的待测对象的体积8439.67cm3。可以通过如下代码实现:

welcomtoopencv4.1.0

[352,668;

345,796;

622,795;

606,669]

width:277,height:128

参照物横向比例尺:0.04(cm/pixel),纵向比例尺:0.06(cm/pixel)

678.0,513.0

217.0,520.0

175.0,832.0

730.0,851.0

692.0,1125.0

234.0,1151.0

箱体识别成功!

w=555,h=331,d=319

结合参照物比例尺,箱体的witdh=22.2(cm),height=19.86(cm),depth=19.14(cm)

箱体体积volumn=8438.67(立方厘米)

processfinished!

该实施例的待测对象的体积的确定方法,只需要通过一个可拍照的嵌入式设备即可通过低成本、快速、便捷的方式,对待测对象的体积进行测量,从而使用门槛比较低。相比于传统的人工测量或者通过光电设备结合的方式的测量方法,该实施例的待测对象的体积的确定方法具有更低成本、更便捷的操作、适合更丰富的场景的优点,解决了由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,进而达到了提高确定对象的体积的灵活性的技术效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例还提供了一种对象的体积的确定装置。需要说明的是,该实施例的对象的体积的确定装置可以用于执行本发明实施例的对象的体积的确定方法。

图15是根据本发明实施例的一种对象的体积的确定装置的示意图。如图15所示,该对象的体积的确定装置150包括:获取单元151、处理单元152、第一确定单元153、识别单元154和第二确定单元155。

获取单元151,用于获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值。

处理单元152,用于对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域。

第一确定单元153,用于基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺。

识别单元154,用于从第一图像中识别出待测对象的图像轮廓。

第二确定单元155,用于基于比例尺和待测对象的图像轮廓确定待测对象的体积。

识别单元154包括:转化模块,用于将第一图像转化为灰度图像;第一处理模块,用于对灰度图像进行自适应阈值处理,得到第三图像;第二处理模块,用于对第三图像进行膨胀处理,得到待测对象的图像轮廓。

可选地,该装置还包括:检测单元,用于对第一图像进行凸包检测,得到多个凸多边形,其中,每个凸多边形的内部包括待测对象表面上的点集;第三确定单元,用于通过多个凸多边形确定目标函数,其中,目标函数用于拟合待测对象的图像的轮廓。

可选地,第二确定单元155包括:第一确定模块,用于通过目标函数确定待测对象的图像的多条原始边长;第二确定模块,用于通过比例尺确定每条原始边长对应的待测对象的真实边长,得到多条真实边长;第三确定模块,用于通过多条真实边长确定待测对象的体积。

可选地,目标函数为多边形拟合函数,第一确定模块包括:第一确定子模块,用于通过多边形拟合函数确定对应的目标多边形的多个顶点;第一确定子模块,用于通过多个顶点确定待测对象的图像的多条原始边长。

可选地,处理单元152包括:处理子模块,用于基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像。

可选地,处理子模块用于通过以下步骤来基于参照对象的图像颜色特征,对第一图像进行二值化处理,得到第二图像:获取参照对象的图像颜色特征对应的像素值;将像素值确定为二值化分割点;在第一区域的像素值与二值化分割点满足第一数值关系的情况下,将第一区域的颜色确定为第一颜色;在第一区域的像素值与二值化分割点满足第二数值关系的情况下,将第一区域的颜色确定为第二颜色。

可选地,待测对象的图像特征包括:待测对象的图像颜色特征和/或待测对象的图像棱角特征;参照对象的图像特征包括:在待测对象的图像特征包括待测对象的图像颜色特征的情况下,参照对象的图像特征为参照对象的图像颜色特征;在待测对象的图像特征包括待测对象的棱角特征的情况下,参照对象的图像特征为待测对象的图像棱角特征。

在该实施例中,通过获取单元151获取第一图像,其中,第一图像包括待测对象的图像和参照对象的图像,待测对象的图像特征与参照对象的图像特征之间的相似度小于目标阈值;通过处理单元152对第一图像进行二值化处理,得到第二图像,其中,第二图像中的第一区域显示为第一颜色,第二区域显示为第二颜色,第一区域为参照对象的图像对应的区域,第二区域为第二图像中除第一区域之外的剩余区域;通过第一确定单元153,用于基于第一区域确定参照对象的图像轮廓,并通过参照对象的图像轮廓和参照对象的真实轮廓确定比例尺;通过识别单元154从第一图像中识别出待测对象的图像轮廓;通过第二确定单元155基于比例尺和待测对象的图像轮廓确定待测对象的体积。也就是说,本申请基于图像识别先确定参照对象的图像轮廓,然后基于参照对象的图像轮廓和实际轮廓确定比例尺,进而根据该比例尺和待测对象的图像轮廓,确定待测对象的体积,从而避免依赖硬件设备确定对象的体积,解决了由于依赖硬件设备确定对象的体积所导致的确定对象的体积的灵活性低的技术问题,进而达到了提高确定对象的体积的灵活性的技术效果。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

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

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

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1