位置关系的确定方法及装置、存储介质、电子装置与流程

文档序号:21838205发布日期:2020-08-14 16:15阅读:311来源:国知局
位置关系的确定方法及装置、存储介质、电子装置与流程

本发明涉及通信领域,具体而言,涉及一种位置关系的确定方法及装置、存储介质、电子装置。



背景技术:

近几年来,卷积神经网络使得人工智能得到了快速的发展,随着硬件的发展,高速逻辑运算器件的出现,人工智能已在社会各个行业中落地开花,例如,交通、餐饮、广告等行业。尤其是计算机视觉领域在近几年得到了快速的发展,方向包括目标分类,目标检测,目标分割。在餐饮行业,比如饺子店,可以利用图像识别技术对饺子的品质,个数进行识别,一方面可以帮助商家统计每天的出参量,另一方面也可根据饺子的品质情况提醒工作人员是否这盘饺子进行召回,此外还可根据每个盘子中饺子的数量决策盘子中饺子是否满足上餐标准,但往往出现多盘饺子的复杂情况,因此,无法准确的判断饺子属于那个盘子。若出现多盘饺子的复杂情况,由于两个盘子相距比较近,会将其他盘子的饺子计算进来。如图1所示,进行计算时,会将右侧小框中的饺子也计入左边盘子中。

相关技术中,通过根据目标分割分别得到饺子和盘子的掩膜,让两者进行与计算,若得到的结果和盘子是一样的则饺子在该盘子中,否则不在。但是计算量较大,无法实时的判别饺子属于哪个盘子。

针对相关技术中,由于无法准确确定第一对象和第二对象的位置关系,有可能将未位于第二对象上的第一对象进行统计等问题,尚未提出有效的技术方案。



技术实现要素:

本发明实施例提供了一种位置关系的确定方法及装置、存储介质、电子装置,以至少解决相关技术中,由于无法准确确定第一对象和第二对象的位置关系,有可能将未位于第二对象上的第一对象进行统计等问题。

根据本发明的一个实施例,提供了一种位置关系的确定方法,包括:对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

在一个示例性实施例中,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系,包括:在所述交点个数为偶数的情况下,确定所述第一对象未位于所述第二对象之上;在所述交点个数为非偶数的情况下,确定所述第一对象位于所述第二对象之上。

在一个示例性实施例中,在以下至少之一情况下,确定所述交点个数为0个:所述目标线段与所述目标射线平行;所述目标线段与所述目标射线重合;所述目标射线位于所述目标线段下边;所述目标射线位于所述目标线段上边;所述目标线段与所述目标射线的交点为所述目标线段的终点;所述目标线段与所述目标射线的交点为所述目标线段的起点;所述目标线段在所述目标射线的水平方向的左侧。

在一个示例性实施例中,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系之前,上述方法还包括:根据每一个第一对象的第一外接多边形获取每一个对象的形心;根据每一个对象的形心确定所述每一个第一对象的目标射线。

在一个示例性实施例中,在所述第一对象为多个的情况下,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系之后,上述方法还包括:在确定了所述第一对象和所述第二对象的位置关系后,确定位于所述第二对象上的第一对象的数量。

在一个示例性实施例中,上述目标方向包括以下至少之一:水平方向的左侧,水平方向的右侧。

根据本发明的一个实施例,提供了一种位置关系的确定装置,包括:识别模块,用于对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;获取模块,用于根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;确定模块,用于根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

在一个示例性实施例中,上述确定模块,还用于在所述交点个数为偶数的情况下,确定所述第一对象未位于所述第二对象之上;在所述交点个数为非偶数的情况下,确定所述第一对象位于所述第二对象之上。

在一个示例性实施例中,确定模块还用于在以下至少之一情况下,确定所述交点个数为0个:所述目标线段与所述目标射线平行;所述目标线段与所述目标射线重合;所述目标射线位于所述目标线段下边;所述目标射线位于所述目标线段上边;所述目标线段与所述目标射线的交点为所述目标线段的终点;所述目标线段与所述目标射线的交点为所述目标线段的起点;所述目标线段在所述目标射线的水平方向的左侧。

在一个示例性实施例中,获取模块还用于根据每一个第一对象的第一外接多边形获取每一个对象的形心;根据每一个对象的形心确定所述每一个第一对象的目标射线。

在一个示例性实施例中,确定模块还用于在确定了所述第一对象和所述第二对象的位置关系后,确定位于所述第二对象上的第一对象的数量。

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

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

通过本发明,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系,采用上述技术方案,解决了相关技术中,由于无法准确确定第一对象和第二对象的位置关系,有可能将未位于第二对象上的第一对象进行统计等问题,通过射线法可以对第一对象和第二对象的位置关系进行准确的判断,而且射线法在判断时消耗的计算资源少并可以实时判别第一对象和第二对象的位置关系。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是相关技术中对多盘饺子进行计算的示意图;

图2是本发明实施例的一种位置关系的确定方法的计算机终端的硬件结构框图;

图3是根据本发明实施例的位置关系的确定方法的流程图;

图4是根据本发明实施例的位置关系的确定装置的结构框图;

图5是根据本发明可选实施例的在相关门店中判别饺子是否存在于盘中的流程图;

图6是根据本发明可选实施例的对外接多边形获取以及形心确认的示意图;

图7是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(一);

图8是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(二);

图9是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(三);

图10是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(四);

图11是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(五);

图12是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(六);

图13是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(七);

图14是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的位置关系示意图(八);

图15是根据本发明可选实施例的线段与射线的交点关系示意图(一);

图16是根据本发明可选实施例的线段与射线的交点关系示意图(二);

图17是根据本发明可选实施例的对于饺子发出射线与盘子上多边形的点构成线段的交点示意图;

图18是根据本发明可选实施例的对两盘饺子进行位置关系确定的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

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

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

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

本发明实施例提供了一种位置关系的确定方法,应用于上述计算机终端中,图3是根据本发明实施例的位置关系的确定方法的流程图,如图3所示,该流程包括如下步骤:

步骤s202,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;

步骤s204,根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;

步骤s206,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

通过上述步骤,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系,采用上述技术方案,解决了相关技术中,由于无法准确确定第一对象和第二对象的位置关系,有可能将未位于第二对象上的第一对象进行统计等问题,通过射线法可以对第一对象和第二对象的位置关系进行准确的判断,而且射线法在判断时消耗的计算资源少并可以实时判别第一对象和第二对象的位置关系。

需要说明的是,对于第一对象或第二对象的识别可以是利用图像识别系统对采集到的图像进行分析得到,也可以是通过其他方式识别得到,本发明对此不作过多限定。

在一个示例性实施例中,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系,包括:在所述交点个数为偶数的情况下,确定所述第一对象未位于所述第二对象之上;在所述交点个数为非偶数的情况下,确定所述第一对象位于所述第二对象之上。

也就是说,对第一对象和第二对象进行图像识别得到第一对象的第一外接多边形和第二对象的第二外接多边形;根据第一外接多边形获取第一对象的形心,根据第一对象的对象形心引出的目标射线与第二对象外接多边形的目标线段相交形成交点,根据交点数量是否为偶数的情况,判断第一对象和第二对象的位置关系,当交点个数为偶数时,可以确定第一对象没有存在于第二对象上,反之,当目标射线和目标线段的交点个数为非偶数时,可以确定第一对象存在于第二对象上。

在一个示例性实施例中,在以下至少之一情况下,确定所述交点个数为0个:所述目标线段与所述目标射线平行;所述目标线段与所述目标射线重合;所述目标射线位于所述目标线段下边;所述目标射线位于所述目标线段上边;所述目标线段与所述目标射线的交点为所述目标线段的终点;所述目标线段与所述目标射线的交点为所述目标线段的起点;所述目标线段在所述目标射线的水平方向的左侧。

也就是说,对第一对象和第二对象进行图像识别得到第一对象的第一外接多边形和第二对象的第二外接多边形;根据第一外接多边形获取第一对象的形心,根据第一对象的对象形心引出的目标射线与第二对象外接多边形的目标线段相交形成交点,当出现以下情况时:目标线段与目标射线平行;目标线段与目标射线重合;目标射线位于目标线段下边;目标射线位于目标线段上边;目标线段与目标射线的交点为目标线段的终点;目标线段与目标射线的交点为目标线段的起点;目标线段在目标射线的水平方向的左侧,说明目标射线和目标线段的交点个数为0。

需要说明的是,上述确定交点个数是否为0的技术方案,还可以采用现有技术中任何其他可执行的方案,本发明实施例对此不作限定。

在一个示例性实施例中,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系之前,上述方法还包括:根据每一个第一对象的第一外接多边形获取每一个对象的形心;根据每一个对象的形心确定所述每一个第一对象的目标射线。

举例而言,如图17所示,饺子为第一对象,盘子为第二对象,在获取了饺子的第一外接多边形和盘子的第二外接多边形后,通过饺子的外接多边形可以获取到每个饺子的形心,并以形心为起点确定出饺子的目标射线,从饺子形心引出的目标射线与盘子的第二外接多边形上的目标线段形成交点,便于确定饺子是否在盘中。

在一个示例性实施例中,在所述第一对象为多个的情况下,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系之后,上述方法还包括:在确定了所述第一对象和所述第二对象的位置关系后,确定位于所述第二对象上的第一对象的数量。

例如,在如图17中,饺子为第一对象,盘子为第二对象,在确定饺子在盘中后,还可以根据饺子形心引出的目标射线与盘子上的目标线段形成交点的个数统计盘子中饺子的数量。

在一个示例性实施例中,上述目标方向包括以下至少之一:水平方向的左侧,水平方向的右侧。

也就是说,对第一对象和第二对象进行图像识别,以得到第一对象的第一外接多边形和第二对象的第二外接多边形;根据第一外接多边形获取第一对象的形心,并形心为起点向目标方向发射射线,与目标方向上的第二对象的第二外接多边形上任意两个相邻点所构成的线段形成交点,为了便于识别,本发明实施优选的目标方向可以是水平方向向左侧,或为水平方向向右侧。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种位置关系的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的位置关系的确定装置的结构框图,如图4所示,该装置包括:

(1)识别模块32,用于对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;

(2)获取模块34,用于根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;

(3)确定模块36,用于根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

通过上述装置,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系,采用上述技术方案,解决了相关技术中,由于无法准确确定第一对象和第二对象的位置关系,有可能将未位于第二对象上的第一对象进行统计等问题,通过射线法可以对第一对象和第二对象的位置关系进行准确的判断,而且射线法在判断时消耗的计算资源少并可以实时判别第一对象和第二对象的位置关系。

需要说明的是,对于第一对象或第二对象的识别可以是利用图像识别系统对采集到的图像进行分析得到,也可以是通过其他方式识别得到,本发明对此不作过多限定。

在一个示例性实施例中,上述确定模块,还用于在所述交点个数为偶数的情况下,确定所述第一对象未位于所述第二对象之上;在所述交点个数为非偶数的情况下,确定所述第一对象位于所述第二对象之上。

也就是说,对第一对象和第二对象进行图像识别得到第一对象的第一外接多边形和第二对象的第二外接多边形;根据第一外接多边形获取第一对象的形心,根据第一对象的对象形心引出的目标射线与第二对象外接多边形的目标线段相交形成交点,根据交点数量是否为偶数的情况,判断第一对象和第二对象的位置关系,当交点个数为偶数时,可以确定第一对象没有存在于第二对象上,反之,当目标射线和目标线段的交点个数为非偶数时,可以确定第一对象存在于第二对象上。

在一个示例性实施例中,确定模块还用于在以下至少之一情况下,确定所述交点个数为0个:所述目标线段与所述目标射线平行;所述目标线段与所述目标射线重合;所述目标射线位于所述目标线段下边;所述目标射线位于所述目标线段上边;所述目标线段与所述目标射线的交点为所述目标线段的终点;所述目标线段与所述目标射线的交点为所述目标线段的起点;所述目标线段在所述目标射线的水平方向的左侧。

也就是说,对第一对象和第二对象进行图像识别得到第一对象的第一外接多边形和第二对象的第二外接多边形;根据第一外接多边形获取第一对象的形心,根据第一对象的对象形心引出的目标射线与第二对象外接多边形的目标线段相交形成交点,当出现以下情况时:目标线段与目标射线平行;目标线段与目标射线重合;目标射线位于目标线段下边;目标射线位于目标线段上边;目标线段与目标射线的交点为目标线段的终点;目标线段与目标射线的交点为目标线段的起点;目标线段在目标射线的水平方向的左侧,说明目标射线和目标线段的交点个数为0。

需要说明的是,上述确定交点个数是否为0的技术方案,还可以采用现有技术中任何其他可执行的方案,本发明实施例对此不作限定。

在一个示例性实施例中,获取模块还用于根据每一个第一对象的第一外接多边形获取每一个对象的形心;根据每一个对象的形心确定所述每一个第一对象的目标射线。

举例而言,如图17所示,饺子为第一对象,盘子为第二对象,在获取了饺子的第一外接多边形和盘子的第二外接多边形后,通过饺子的外接多边形可以获取到每个饺子的形心,并以形心为起点确定出饺子的目标射线,从饺子形心引出的目标射线与盘子的第二外接多边形上的目标线段形成交点,便于确定饺子是否在盘中。

在一个示例性实施例中,确定模块还用于在确定了所述第一对象和所述第二对象的位置关系后,确定位于所述第二对象上的第一对象的数量。

例如,在如图17中,饺子为第一对象,盘子为第二对象,在确定饺子在盘中后,还可以根据饺子形心引出的目标射线与盘子上的目标线段形成交点的个数统计盘子中饺子的数量。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

为了更好的理解上述位置关系的确定流程,以下结合可选实施例进行说明,但不用于限定本发明实施例的技术方案。

在本发明可选实施例中,通过在门店中安装图像采集装置,利用图像识别系统对采集到的图像进行分析,并根据已设置的射线判别规则,对门店中盘子上饺子的位置进行判断,并确定饺子是否存在于盘子中,如图5所示为在相关门店中判别饺子是否存在于盘中的流程图,其中,饺子相当于本发明实施例中的第一对象,盘子相当于本发明实施例中的第二对象,具体的,通过以下步骤来实现:

步骤1:在门店安置图像采集系统,包括摄像头等这类图像采集装置。

步骤2:将采集完成的图像输入图像识别系统,经过图像识别系统,获取饺子和盘子的检测框,以及饺子的外接多边形和盘子的外接多边形。

步骤3:通过饺子的外接多边形,找到饺子的外接多边形的形心,从盘子外接多边形取两个点构成线段。如图6所示,圆圈代表饺子多边形的形心,圆点为饺子和盘子的外接多边形上的用来构成线段的点,方框为获取盘子位置的检测框。

步骤4:判断线段,遍历盘子外接多边形的点,每次取两个依次取相连的两个组成线段(相当于本发明实施例中的目标线段),判断两个线段是否与饺子形心发射出的射线(相当于本发明实施例中目标射线)平行、重合以及射线与线段首尾端点重合的情况,如图7所示,为线段和射线平行,图8为线段和射线重合,图9为线段和射线平行但线段长度为0的情况,若满足上述图像的三种情况之一,则表示存在盘子上的线段与饺子形心所发射的射线平行、重合情况,这时,交点个数+0,如果没有出现上述盘子上的线段与饺子形心所发射的射线平行、重合情况,进入步骤5。

步骤5:判断射线是否在线段下边,如图10所示,若确认射线在线段下边,这时,线段和射线的交点个数为+0,若未出现射线在线段下边,则进入步骤6。

步骤6:判断射线是否在线段上边,如图11所示,若确认射线在线段上边,这时,线段和射线的交点个数为+0,若未出现射线在线段上边,则进入步骤7。

步骤7:判断线段与射线交点是否为线段终点,如图12所示,线段与射线相交点为线段的终点,若是,交点个数+0,否则,进入步骤8。

步骤8:判断线段与射线交点是否为线段起点,如图13所示,线段与射线交点为线段的起点,若是,交点个数+0,否则,进入步骤9。

步骤9:判断线段是否在射线左方,如图14所示,线段在射线的左方,若是,交点个数+0,否则,进入步骤10。

步骤10:利用两个三角形的比例关系计算线段与射线的交点,如图15所示,射线和线段存在交点,如图16所示,射线和线段无交点,若交点在射线起点左侧,交点个数+0,否则,交点个数+1。

例如,通过两个三角形的比例关系计算线段与射线的交点时,假设射线的起点为(p_x,p_y),线段的起点为(sx,sy)终点为(ex,ey),则交点为xseg个,计算公式如下:

步骤11:若交点个数为2的倍数,则饺子不在盘子里,否则在盘子中。如下图17所示,根据饺子多边形的形心为起点向外引射线,从饺子形心引出的射线与盘子的多变形存在交点,根据交点的个数可以确定饺子是否在盘中。

例如,如图18所示,托盘中存在两盘饺子,通过图像采集装置采集图像并通过图像识别系统获取饺子和盘子的检测框,以及饺子的外接多边形和盘子的外接多边形,当饺子属于左侧盘子1中时,左侧盘子1中的饺子的形心引的射线与左侧盘子1的外接多边形有一个交点,而与右侧盘子2的外接多边形有0个或2个交点,同理,右侧盘子2中饺子的外接多边形的形心所引出的射线与右侧盘子2的外接多边形有1个交点,与左侧盘子1的外接多边形有0个或2个交点,通过确定饺子形心引出射线和盘子外接多边形上线段的交点数量,进而可以准确判断饺子属于那个盘子中,当饺子形心引出的射线和盘子的外接多边形上线段的交点为非偶数时,则确定饺子存在于当前盘中,当饺子形心引出的射线和盘子的外接多边形上线段的交点为偶数时,则确定饺子不存在于当前盘中。

通过本发明可选实施例,解决了相关技术中,由于出现多盘饺子的复杂情况,无法实时、准确地判断饺子属于哪个盘子等问题,进而可以准确的判断饺子是否在盘中,检测简单识别速度快,而且在确认饺子在盘中后,通过计算得到盘子中饺子的个数更加可靠,提高了商家的出餐效率,更好的服务了顾客。

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

在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;

s2,根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;

s3,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

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

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

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,对第一对象和第二对象进行图像识别,以得到所述第一对象的第一外接多边形和所述第二对象的第二外接多边形;

s2,根据所述第一外接多边形获取所述第一对象的形心,并获取目标线段和目标射线,其中,所述目标线段是所述第二外接多边形上任意两个相邻点所构成的线段,所述射线的起点是所述形心,并向目标方向发射的射线;

s3,根据所述目标线段和所述目标射线的交点个数确定所述第一对象和所述第二对象的位置关系。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述

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

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

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