货箱边缘检测方法及装置与流程

文档序号:18034419发布日期:2019-06-28 23:06阅读:495来源:国知局
货箱边缘检测方法及装置与流程

本发明实施例涉及图像处理技术领域,具体而言,涉及一种货箱边缘检测方法及装置。



背景技术:

货箱是生产企业常用的货物包装方式。在仓储物流环节,货箱往往根据品种、规格等分类成垛码放托盘上,以方便存储和搬运。当货箱需要周转或外运时,随着机械化、自动化设备的普及,越来越多的企业采用了工业机器人、多自由度运动平台辅以机械手或吸盘的方式进行货物的分拣和搬运。

当机械手或吸盘对货垛中的货箱进行分拣作业时,需要控制系统先获得货垛中每个货物的具体位置信息,才能控制机械化设备准确地将货物从货垛中取出。而由于货垛中货箱的摆放方式多样等原因,货箱相对于机械化设备的位置并不固定,现有技术在进行分拣作业时,不能准确识别货箱的轮廓以确定货箱的位置,导致分拣作业效率低下。



技术实现要素:

本发明实施例的目的在于提供一种货箱边缘检测方法及装置,以改善现有分拣作业效率低下的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种货箱边缘检测方法,所述方法包括:获取包含至少一个同一规格货箱的货箱图像,其中,每个货箱均包含同一标识、且每个标识在对应货箱上的位置信息相同;从所述货箱图像中,检测出所有的图像轮廓;获取每个所述图像轮廓的轮廓信息,并依据所有的轮廓信息、以及所述标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓;依据所述目标图像轮廓,以及所述标识在所述货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息。

第二方面,本发明实施例提供了一种货箱边缘检测装置,所述装置包括:获取模块,用于获取包含至少一个同一规格货箱的货箱图像,其中,每个货箱均包含同一标识、且每个标识在对应货箱上的位置信息相同;处理模块,用于从所述货箱图像中,检测出所有的图像轮廓;获取每个所述图像轮廓的轮廓信息,并依据所有的轮廓信息、以及所述标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓;依据所述目标图像轮廓,以及所述标识在所述货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息。

相对现有技术,本发明实施例提供的一种货箱边缘检测方法及装置,通过从货箱图像中,检测出所有的图像轮廓;并依据每个图像轮廓的轮廓信息,以及标识的预设标识信息,从所有的图像轮廓中确定出表征货箱图像中的标识的目标图像轮廓并依据目标图像轮廓,以及标识在货箱上的位置信息,反推出货箱图像中所有的货箱边缘。与现有技术相比,本申请可以通过货箱图像中的货箱上的标识准确反推出货箱边缘,得到货箱的位置,进而提高分拣作业的效率。

为使本发明实施例的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的电子设备的方框示意图。

图2示出了本发明实施例提供的货箱边缘检测方法的流程图。

图3示出了本发明实施例提供的货箱图像的示例。

图4示出了本发明实施例提供的位置信息的示意图。

图5为图2示出了步骤s2的子步骤流程图。

图6示出了本发明实施例提供的货箱二值图像的示例。

图7为图5示出了步骤s21的子步骤流程图。

图8为图2示出了步骤s3的子步骤流程图。

图9示出了本发明实施例提供的第一轮廓的最小外接矩形的示例。

图10示出了本发明实施例提供的货箱轮廓的外接矩形的示意图。

图11示出了本发明实施例提供的货箱边缘检测装置的方框示意图。

图标:100-电子设备;101-处理器;102-存储器;103-总线;104-通信接口;105-显示屏;106-摄像头;200-货箱边缘检测装置;201-获取模块;202-处理模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为了解决现有技术中货箱分拣作业低下的问题,提出自动分拣货箱的方法,在进行自动分拣作业时,需要准确获取货箱的位置。目前,可以通过对包含货箱的货箱图像进行检测,得到货箱在货箱图像中的货箱边缘,确定出货箱的位置,以进行自动分拣作业,提高货箱的分拣作业效率。

获得货箱图像中货箱边缘的方式,通常有以下两种:第一种是对货箱图像进行二值化,得到二值化图像,再对二值化图像进行轮廓检测,得到二值化图像中所有轮廓信息的集合,最后根据已知的货箱特征信息筛选出满足要求的轮廓,即可得到货箱图像中货箱的边缘。第二种是根据货箱上的固定位置的(模板)标识,与货箱图像进行模板匹配,确定出货箱图像中的标识,再根据标识确定出货箱图像中货箱的边缘。

上述两种获取货箱图像中货箱边缘的方式,均存在弊端:首先,第一种,直接对货箱图像中的货箱边缘进行筛选,由于货箱在堆积成货垛时是整齐堆放的,故相邻的货箱之间间隔很小,或者是几乎没有间隔,那么在进行货箱边缘检测时,容易出现错误,不能准确检测出货箱边缘。第二种,通过标识进行模板匹配,来确定出货箱图像中标识的位置,模板匹配需要耗费的资源较多,且处理时间长。

针对上述问题,本发明实施例提供一种货箱边缘检测方法,其核心改进点在于,对货箱图像中货箱上的标识进行识别,得到表征所述标识的目标图像轮廓,并依据目标图像轮廓,以及标识在货箱上的位置信息,反推出货箱图像中所有的货箱边缘,快速、准确地检测货箱图像中所有的货箱边缘信息。

本发明实施例提供的货箱边缘检测方法应用于电子设备100,请参阅图1,图1示出了本发明实施例提供的电子设备100的方框示意图。电子设备100包括处理器101、存储器102、总线103、通信接口104及显示屏105及摄像头106。处理器101、存储器102、通信接口104、显示屏105及摄像头106通过总线103连接,处理器101用于执行存储器102中存储的可执行模块,例如计算机程序。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,货箱边缘检测方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器101,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器102可能包含高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

总线103可以是isa(industrystandardarchitecture)总线、pci(peripheralcomponentinterconnect)总线或eisa(extendedindustrystandardarchitecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线103或一种类型的总线103。

电子设备100通过至少一个通信接口104(可以是有线或者无线)实现与外部的其它设备之间的通信连接。存储器102用于存储程序,例如货箱边缘检测装置200。货箱边缘检测装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器102中或固化在电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器101在接收到执行指令后,执行所述程序以实现货箱边缘检测方法。

显示屏105用于对图像进行显示,显示的内容可以是处理器101的一些处理结果。显示屏105可以是触摸显示屏、无交互功能的显示屏等。

摄像头106用于拍摄图像并通过总线103发送至处理器101进行处理,或者发送至存储器102进行存储。

应当理解的是,图1所示的结构仅为电子设备100的结构应用示意图,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

基于上述的电子设备100,下面给出一种货箱边缘检测方法可能的实现方式,该方法的执行主体可以为上述电子设备100,请参阅图2,图2示出了本发明实施例提供的货箱边缘检测方法的流程图。货箱边缘检测方法包括以下步骤:

s1,获取包含至少一个同一规格货箱的货箱图像,其中,每个货箱均包含同一标识、且每个标识在对应货箱上的位置信息相同。

在本发明实施例中,货箱图像可以是包含至少一个货箱的灰度图像,且在每个货箱的固定位置均设置有相同的标识,可以简单理解为,货箱图像中的货箱为相同的货箱。货箱图像中可以包括一个货箱,也可以包括两个货箱,还可以包括三个货箱,或者更多数量的货箱。货箱图像可以通过摄像头106实时拍摄得到,也可以是预先从网上下载的,还可以外部设备通过通信接口104传输过来的,在此不作限定。货箱图像可以如图3所示。标识可以是,但不限于货箱或者其内部放置的产品的商标、公司名称、商品信息等。位置信息可以是用于确定标识在货箱上表面的具体位置的信息,例如,标识距离货箱上表面各个边缘的距离值,请参阅图4,标识为“泰禾”,标识距离货箱上表面边缘的距离值分别为距离a,距离b、距离c和距离d。

s2,从货箱图像中,检测出所有的图像轮廓。

在本发明实施例中,图像轮廓为对货箱图像进行轮廓检测,得到的轮廓。从货箱图像中,检测出所有的图像轮廓的步骤,可以理解为,对货箱图像进行轮廓检测,得到货箱图像中所有的图像轮廓,具体地,可以利用传统的边缘检测算子对货箱图像直接进行轮廓检测,边缘检测算子可以是,但不限于sobel算子、prewitt算子、canny算子等。

进一步地,为了避免货箱图像中的噪声和纹理的影响,需要对货箱图像进行预处理后,再进行轮廓检测。预处理可以是,但不限于形态学运算、滤波、二值化等操作。在本申请实施例中,以二值化操作为例,进行阐述。

请参阅图5,步骤s2还可以包括以下子步骤:

s21,对货箱图像进行二值化,得到货箱二值图像。

在本发明实施例中,货箱二值图像可以是对货箱进行二值化之后,得到的图像,在货箱二值图像中所有像素点的像素值只会为0或者255中的一种。经过二值化得到的货箱二值图像可以如图6所示。

对货箱图像进行二值化,得到货箱二值图像的步骤,可以理解为,获取货箱图像中所有像素点的像素值,将所有像素点的像素值求平均,得到像素均值,再将货箱图像中的每个像素点的像素值均与像素均值进行比较,并在像素点的像素值大于像素均值时,将该像素点的像素值设置为255,在像素点的像素值小于像素均值时,将该像素点的像素值设置为0,按照上述的步骤,对货箱图像中的每个像素点均进行相同的处理,即可得到货箱二值图像。

于本发明的其它实施例中,对货箱图像进行二值化,得到货箱二值图像的步骤,还可以理解为,统计货箱图像中每个像素点的像素值,得到货箱图像的直方图,依据直方图确定出分割像素值,将货箱图中的每个像素点的像素值均与分割像素值进行比较,当像素点的像素值大于分割像素值时,将该像素点的像素值置为255,当像素点的像素值小于或者等于分割像素值时,将像素点的像素值置为0。按照上述的方法,对货箱图像中的每个像素点均进行相同的处理,即可得到货箱二值图像。

请参阅图7,步骤s21还可以包括以下子步骤:

s211,获取货箱图像中当前像素点的目标像素值。

在本发明实施例中,当前像素点可以是电子设备100的处理器101目前正在处理的像素点,目标像素值可以是当前像素点的像素值。获取货箱图像中当前像素点的像素值的步骤,可以理解为,获取货箱图像中,目前正在进行处理的像素点的像素值。

s212,计算以当前像素点为中心的预设窗口内所有像素点的平均像素值。

在本发明实施例中,预设窗口可以是一个以当前像素点为中心的矩形的窗口,预设窗口的大小可以是用户自定义的,预设窗口可以是5*5窗口、5*3窗口、3*3窗口、还可以是其它的(2n+1)*(2n+1)窗口,在此不作限定。平均像素值可以是预设窗口内所有像素点的像素值求均值得到。

作为一种实施方式,计算以当前像素点为中心的预设窗口内所有像素点的平均像素值,可以理解为,获取以当前像素点为中心的预设窗口内每个邻域像素点的像素值;对每个邻域像素点的像素值、以及目标像素值求和,得到窗口总像素值;统计预设窗口内所有像素点的像素点数量;计算窗口总像素值与像素点数量的比值,得到平均像素值。其中,邻域像素点可以是预设窗口内除了当前像素点的其它像素点,所有的邻域像素点和当前像素点共同组成了预设窗口,窗口总像素值可以是预设窗口内所有像素点的像素值的总和,计算窗口总像素值与窗口内的像素点数量的比值,即可得到平均像素值。

s213,将目标像素值与平均像素值进行对比。

在本发明实施例中,将子步骤s211得到的目标像素值与子步骤s212得到的平均像素值进行比较,当目标像素值大于平均像素值时,执行子步骤s214,当目标像素值小于或者等于平均像素值时,执行子步骤s215。

s214,当目标像素值大于平均像素值时,将当前像素点的目标像素值设置为255。

在本发明实施例中,将当前像素点的目标像素值设置为255,即将当前像素点设置为白色。

s215,当目标像素值小于或者等于平均像素值时,将当前像素点的目标像素值设置为0。

在本发明实施例中,将当前像素点的目标像素值设置为0,即将当前像素点设置为黑色。

s216,重复上述步骤,遍历货箱图像中的每个像素点,得到货箱二值图像。

在本发明实施例中,对货箱图像中的每个像素点均执行子步骤s211~s215,按照上述方式,遍历完货箱图像中的所有像素点后,即可得到货箱二值图像。

s22,对货箱二值图像进行轮廓检测,得到货箱二值图像中所有的图像轮廓。

在本发明实施例中,利用边缘检测算子对货箱二值图像进行轮廓检测,可以采用,但不限于sobel算子、prewitt算子、canny算子等。通过轮廓检测,可以检测出货箱二值图像中所有的图像轮廓。需要说明的是,本申请中的图像轮廓均为闭合轮廓,轮廓分为闭合轮廓和非闭合轮廓,那么从所有轮廓中,得到闭合轮廓的方式为,对每个轮廓均进行连通区域检测,当检测到任一个轮廓为连通区域时,将该轮廓确定为闭合轮廓,否则,将该轮廓确定为非闭合轮廓。按照上述的方法,可以将所有的轮廓中的所有的闭合轮廓筛选出来,即为货箱二值图像中所有的图像轮廓。

s3,获取每个图像轮廓的轮廓信息,并依据所有的轮廓信息、以及标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓。

在本发明实施例中,图像轮廓的轮廓信息可以是,但不限于图像轮廓的面积、图像轮廓的最小外接矩形的矩形信息、及图像轮廓的最小外接矩形中(白色/黑色)像素点占比率等。预设标识信息可以是,但不限于标识的轮廓面积、标识的最小外接矩形的矩形信息、以及标识的最小外接矩形中(白色/黑色)像素点占比率。其中,矩形信息可以是最小外接矩形的面积、长度、宽度、长宽比等。目标图像轮廓可以是图像轮廓中可以表征标识的图像轮廓。

预设标识信息可以是预先存储在电子设备100的存储器102中的,标识信息的获取来源可以是离线获取得到后存储在电子设备100当中的,下面对如何获取预设标识信息进行简要阐述:

首先,在货箱放置的位置只放置一个货箱,该货箱与摄像头106之间的距离,和本申请中货箱图像中的货箱与摄像头106之间的距离相同,该货箱与本申请中的其它货箱均为相同的货箱,且在货箱的上表面固定的位置有着同样的标识,摄像头106对该货箱的上表面进行拍摄,得到包含该货箱的图像。离线分析出该货箱的图像所有的轮廓,基于用户的选定指令,从所有的轮廓中确定出表征该标识的轮廓,并采用与本申请实施例中介绍的获取图像轮廓的轮廓信息相同的方式,获取到标识的预设标识信息。

请参阅图8,步骤s3还可以包括以下子步骤,其中,获取每个图像轮廓的轮廓信息的步骤为子步骤s31、s33和s35,步骤s3中可以包括三次筛选,分别是:第一次,轮廓面积的筛选;第二次,最小外接矩形的矩形信息;第三次,最小外接矩形中的像素点占比率:

s31,计算每个图像轮廓的轮廓面积。

在本发明实施例中,图像轮廓的轮廓面积可以是一个闭合轮廓所占的面积。计算图像轮廓的轮廓面积的步骤,可以理解为,对获取图像轮廓上所有的边界像素点(p1、p2、p3…pn)(像素点可以是按照顺时针/逆时针依次排列),由于图像轮廓为闭合轮廓,故pn和p1相邻。以货箱图像为基准,建立像素坐标系,像素坐标系的原点为o,则按顺序两个相邻的边界像素点和原点组成一个三角形,这样可以组成很多个三角形,包括s(o,p1,p2),s(o,p2,p3),…s(o,pn,p1),计算每个三角形的矢量面积,即s(o,p1,p2)=|op1|*|op2|*sinθ,(其中θ为op1和op2的夹角,从op1到op2逆时针为正,顺时针为负)。θ可以由θ1(op1与x轴的夹角)和θ2(op2与x轴的夹角)做差得到,即θ=θ1-θ2。θ1可以由p1的坐标和反正切函数得到,例如,p1的坐标为(x1,y1),那么θ1=arctan(y1/x1)。则面积为s=s(o,p1,p2)+s(o,p2,p3)+s(o,p3,p4)+…+s(o,pn,p1),最后,再对求得的面积s取绝对值,得到该图像轮廓的轮廓面积。按照上述的方式,对每个图像轮廓均进行相同的处理,即可计算出每个图像轮廓的轮廓面积。

s32,依据每个图像轮廓的轮廓面积从所有的图像轮廓中确定出与标识的轮廓面积相等的所有的第一轮廓。

在本发明实施例中,第一轮廓可以是经过第一次筛选,得到的图像轮廓,其中,第一次筛选为轮廓面积的筛选。图像轮廓中满足轮廓面积与标识的轮廓面积相等的均为第一轮廓。由于处理得到的数据具有一定的波动性,故在一定范围内的波动均可看作是相等。例如,轮廓面积的筛选范围标准为0.8s0≤sn≤1.2s0,其中s0为选定的预设的标识的轮廓面积,sn为待筛选的图像轮廓的轮廓面积。判断每个图像轮廓的轮廓面积是否在筛选范围内,若在,则认为该图像轮廓为第一轮廓,若不在,则认为该图像轮廓不为第一轮廓。

s33,确定出每个第一轮廓的最小外接矩形、以及每个最小外接矩形的矩形信息。

在本发明实施例中,最小外接矩形可以是能包含一个闭合轮廓的面积最小的矩形,矩形信息可以是,但不限于最小外接矩形的长度、宽度、长宽比、面积等信息。每个货箱轮廓均可以确定一个最小外接矩形,每个最小外接矩形均有其对应的一个矩形信息。当所有的第一轮廓的最小外接矩形均确定的时候,得到如图9所示的图像。

请参阅图10,下面以一个货箱轮廓为例,对如何获取一个第一轮廓的最小外接矩形及该最小外接矩形的矩形信息进行阐述。

首先,阐述如何获取简单外接矩形及其对应的矩形信息,这一过程具体可以包括:建立坐标系,遍历每个货箱轮廓中的所有坐标点,确定出每个货箱轮廓中的最右坐标点a(a0,a1)、最下坐标点b(b0,b1)、最左坐标点c(c0,c1)及最上坐标点d(d0,d1),依据这四个坐标点可以确定出一个简单外接矩形,具体地,依据最右坐标点a的横坐标a0,最下坐标点b的纵坐标b1,最左坐标点c的横坐标c0,最上坐标点d的纵坐标d1,将x=a0、x=c0、y=b1,y=d1确定出一个简单外接矩形。其中,x为横坐标轴,y为纵坐标轴。该简单外接矩形的长度l=a0-c0,该简单外接矩形的宽度h=d1-b1,该简单外接矩形的长宽比l/h=(a0-c0)/(d1-b1),该简单外接矩形的面积s1=l*h=(a0-c0)*(d1-b1),上述简单外接矩形的长度l、宽度h、长宽比l/h及面积s1构成了该简单外接矩形的矩形信息。

然后,阐述如何通过简单外接矩形得到本发明实施例中的最小外接矩形及其对应的矩形信息,这一过程具体可以包括:第一步,遍历闭合轮廓中所有的坐标点,对所有的坐标点求平均,得到中心坐标点;第二步,以中心坐标点为中心,按照预设角度间隔(例如,0.5°)对货箱轮廓进行旋转,并计算每次旋转之后的简单外接矩形的面积;第三步,从多个简单外接矩形的面积确定出最小的简单外接矩形面积,即最小外接矩形,并获取最小外接矩形面积对应的简单外接矩形及旋转角度,将该简单外接矩形以中心坐标点为中心,反向旋转旋转角度,即可得到该货箱轮廓的最小外接矩形,并获取该最小外接矩形的矩形信息。

按照上述的方式,对每个第一轮廓均进行相同的处理,即可确定出每个第一轮廓的最小外接矩形、以及每个最小外接矩形的矩形信息。

s34,依据每个第一轮廓的矩形信息,从所有的第一轮廓中确定出与标识的最小外接矩形的矩形信息一致的所有的第二轮廓。

在本发明实施例中,标识的最小外接矩形的矩形信息包括标识的最小外接矩形的矩形面积、长宽比;第一轮廓的矩形信息包括第一轮廓的最小外接矩形的矩形面积、长宽比。第二轮廓可以是所有的第一轮廓经过第二次筛选,得到的图像轮廓,其中,第二次筛选为最小外接矩形的矩形面积和最小外接矩形的长宽比的筛选。第一轮廓中满足最小外接矩形的矩形面积、长宽比与标识的最小外接矩形的矩形面积、长宽比一致的均为第二轮廓。由于处理得到的数据具有一定的波动性,故在一定范围内的波动均可看作是一致。

于本发明的其它实施例中,标识的最小外接矩形的矩形信息还可以是标识的最小外接矩形的矩形面积、长、宽;第一轮廓的矩形信息还可以是第一轮廓的最小外接矩形的矩形面积、长、宽。

下面,以标识的最小外接矩形的矩形信息包括标识的最小外接矩形的矩形面积、长宽比;第一轮廓的矩形信息包括第一轮廓的最小外接矩形的矩形面积、长宽比为例,对步骤s34进行阐述,步骤s34还可以包括以下子步骤:

s341,将第一轮廓的最小外接矩形的矩形面积与标识的最小外接矩形的矩形面积进行对比。

s342,将第一轮廓的最小外接矩形的长宽比与标识的最小外接矩形的长宽比进行对比。

s343,当第一轮廓的最小外接矩形的矩形面积等于标识的最小外接矩形的矩形面积,且第一轮廓的最小外接矩形的长宽比等于标识的最小外接矩形的长宽比时,将第一轮廓确定为第二轮廓。

s344,重复上述步骤,遍历每个第一轮廓,得到所有的第二轮廓。

需要说明的是,于本发明的其它实施例中,子步骤s341和子步骤s342的执行顺序可以交换,也可以同时执行子步骤s341和子步骤s342,在此不作限定。

s35,计算每个第二轮廓的最小外接矩形内像素值为预设像素值在第二轮廓的最小外接矩形内的像素点占比率。

在本发明实施例中,像素点占比率可以是在第二轮廓的最小外接矩形内像素值为预设像素值的像素点个数与该第二轮廓的最小外接矩形内所有像素点的总数量的比值。预设像素值可以是0或者255。例如,统计第二轮廓的最小外接矩形内像素值为0的数量为20,统计第二轮廓的最小外接矩形内所有的像素点的总数量为100,那么该第二轮廓的最小外接矩形的像素点占比率为20/100=20%。按照上述的方式,对每个第二轮廓均进行相同的处理,即可计算每个第二轮廓的最小外接矩形内像素值为预设像素值在第二轮廓的最小外接矩形内的像素点占比率。

s36,依据每个第二轮廓的像素点占比率,从所有的第二轮廓中确定出与标识的像素点占比率相等的目标图像轮廓。

在本发明实施例中,目标图像轮廓可以是将所有的第二轮廓经过第三次筛选,得到的图像轮廓,其中,第三次筛选为最小外接矩形内的像素点占比率的筛选。第二轮廓中满足最小外接矩形的像素点占比率与标识的像素点占比率相等的均为目标图像轮廓。由于处理得到的数据具有一定的波动性,故在一定范围内的波动均可看作是一致。例如,像素点占比率的筛选范围标准为0.9r0<rn<1.1r0,其中,r0为选定的标识的像素点占比率,rn为待筛选的第二轮廓的像素点占比率。判断每个第二轮廓的像素点占比率是否在筛选范围内,若在,则认为该第二轮廓为目标图像轮廓,若不在,则认为该第二轮廓不为目标图像轮廓轮廓。

s4,依据目标图像轮廓,以及标识在货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息。

在本发明实施例中,位置信息可以是用于确定标识在货箱上表面的具体位置的信息,例如,标识距离货箱上表面各个边缘的距离值。货箱边缘信息可以是货箱图像中货箱边缘的位置、方向等,具体地,对于规则形状的长方体货箱而言,货箱边缘可以用4个坐标来进行表示,例如,坐标(15,10)、(30,10)、(15,20)和(30,20)可以表示出一个15*10的货箱边缘。依据目标图像轮廓,以及标识在货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息的步骤,可以理解为,在图4中示出了标识在货箱上表面的位置信息,获取目标图像轮廓的顶点坐标,与标识在货箱上的位置信息相结合,即可反推出货箱图像中该货箱的4个顶点坐标,即该货箱的货箱边缘信息。对货箱图像中的每个目标图像轮廓均进行同样的处理,即可得到货箱图像中每个货箱的货箱边缘信息。

与现有技术相比,本发明实施例具有以下优势:

首先,通过预处理,可以避免货箱图像中噪声和纹理带来的影响,能够有效降低货箱图像中的噪声干扰。

其次,通过对货箱图像中货箱上的标识进行识别,得到表征所述标识的目标图像轮廓,并依据目标图像轮廓,以及标识在货箱上的位置信息,反推出货箱图像中所有的货箱边缘。与介绍的第一种获取货箱图像中货箱边缘的方式相比,由于只检测货箱上的标识,标识与标识之间的距离较大,便于检测,且不容易出错,进而能够准确推断出货箱图像中的货箱边缘;与介绍的第二种获取货箱图像中的货箱边缘的方式相比,由于不进行模板匹配,耗费的资源较小,处理时间可能缩短,提高了处理效率。

针对上述图2、图5、图7及图8的方法流程,下面给出一种货箱边缘检测装置200的可能的实现方式,该货箱边缘检测装置200可以采用上述实施例中的电子设备100的器件结构实现,也可以为该电子设备100中的处理器101实现,请参阅图11,图11示出了本发明实施例提供的货箱边缘检测装置的方框示意图。货箱边缘检测装置200包括获取模块201和处理模块202。

获取模块201,用于获取包含至少一个同一规格货箱的货箱图像,其中,每个货箱均包含同一标识、且每个标识在对应货箱上的位置信息相同。

处理模块202,用于从货箱图像中,检测出所有的图像轮廓;获取每个图像轮廓的轮廓信息,并依据所有的轮廓信息、以及标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓;依据目标图像轮廓,以及标识在货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息。

在本发明实施例中,处理模块202执行从货箱图像中,检测出所有的图像轮廓步骤的方式,具体包括:对货箱图像进行二值化,得到货箱二值图像;对货箱二值图像进行轮廓检测,得到货箱二值图像中所有的图像轮廓。

处理模块202执行对货箱图像进行二值化,得到货箱二值图像步骤的方式,具体包括:获取货箱图像中当前像素点的目标像素值;计算以当前像素点为中心的预设窗口内所有像素点的平均像素值;将目标像素值与平均像素值进行对比;当目标像素值大于平均像素值时,将当前像素点的目标像素值设置为255;当目标像素值小于或者等于平均像素值时,将当前像素点的目标像素值设置为0;重复上述步骤,遍历货箱图像中的每个像素点,得到货箱二值图像。

处理模块202执行计算以当前像素点为中心的预设窗口内所有像素点的平均像素值步骤的方式,具体包括:获取以当前像素点为中心的预设窗口内每个邻域像素点的像素值;对每个邻域像素点的像素值、以及目标像素值求和,得到窗口总像素值;统计预设窗口内所有像素点的像素点数量;计算窗口总像素值与像素点数量的比值,得到平均像素值。

在本发明实施例中,预设标识信息包括标识的轮廓面积、标识的最小外接矩形的矩形信息、以及标识的像素点占比率;轮廓信息包括图像轮廓的轮廓面积、图像轮廓的最小外接矩形的矩形信息、以及图像轮廓的像素点占比率。处理模块202执行获取每个图像轮廓的轮廓信息,并依据所有的轮廓信息、以及标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓步骤的方式,具体包括:计算每个图像轮廓的轮廓面积;依据每个图像轮廓的轮廓面积从所有的图像轮廓中确定出与标识的轮廓面积相等的所有的第一轮廓;确定出每个第一轮廓的最小外接矩形、以及每个最小外接矩形的矩形信息;依据每个第一轮廓的矩形信息,从所有的第一轮廓中确定出与标识的最小外接矩形的矩形信息一致的所有的第二轮廓;计算每个第二轮廓的最小外接矩形内像素值为预设像素值在第二轮廓的最小外接矩形内的像素点占比率;依据每个第二轮廓的像素点占比率,从所有的第二轮廓中确定出与标识的像素点占比率相等的目标图像轮廓。

标识的最小外接矩形的矩形信息包括标识的最小外接矩形的矩形面积、长宽比;第一轮廓的矩形信息包括第一轮廓的最小外接矩形的矩形面积、长宽比。处理模块202执行依据每个第一轮廓的矩形信息,从所有的第一轮廓中确定出与标识的最小外接矩形的矩形信息一致的所有的第二轮廓步骤的方式,具体包括:将第一轮廓的最小外接矩形的矩形面积与标识的最小外接矩形的矩形面积进行对比;将第一轮廓的最小外接矩形的长宽比与标识的最小外接矩形的长宽比进行对比;当第一轮廓的最小外接矩形的矩形面积等于标识的最小外接矩形的矩形面积,且第一轮廓的最小外接矩形的长宽比等于标识的最小外接矩形的长宽比时,将第一轮廓确定为第二轮廓;重复上述步骤,遍历每个第一轮廓,得到所有的第二轮廓。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的货箱边缘检测装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

综上所述,本发明实施例提供一种货箱边缘检测方法及装置,所述方法包括:获取包含至少一个同一规格货箱的货箱图像,其中,每个货箱均包含同一标识、且每个标识在对应货箱上的位置信息相同;从货箱图像中,检测出所有的图像轮廓;获取每个图像轮廓的轮廓信息,并依据所有的轮廓信息、以及标识的预设标识信息,从所有的图像轮廓中确定出目标图像轮廓;依据目标图像轮廓,以及标识在所述货箱上的位置信息,得到货箱图像中每个货箱的货箱边缘信息。通过对货箱图像中货箱上的标识进行识别,得到表征所述标识的目标图像轮廓,并依据目标图像轮廓,以及标识在货箱上的位置信息,反推出货箱图像中所有的货箱边缘。与现有技术相比,本申请可以通过货箱上的标识准确推断出货箱的位置,进而可以提高分拣作业的效率。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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