掌桥专利:专业的专利平台
掌桥专利
首页

立体图形码、立体图形码识别方法、装置、介质、设备

文献发布时间:2023-06-19 12:05:39


立体图形码、立体图形码识别方法、装置、介质、设备

技术领域

本公开涉及图像处理技术领域,尤其涉及一种立体图形码、立体图形码识别方法、立体图形码识别装置、计算机可读存储介质与电子设备。

背景技术

随着互联网技术的迅速发展,为了提高获取信息的便捷性,以及信息安全性,人们提出通过特定几何图形来对信息进行编码,以存储或表示各种类型的数据,例如二维码或条形码等。现有技术通常是通过在基底上印刷黑色和白色的涂料以呈现二维平面上的二维码或条形码等二值化图形码。实际应用中,用户需要通过摄像头采集二维图形码的图像进行识别,才能获取图形码中所包含的信息。然而,这种二维平面的图形码由于空间的限制,无法包括过多的信息,且通过对图像识别获取图形码信息的方式,往往对环境具有较高的要求,当在室内或光线较差的环境中时,基于采集的图像对图形码进行识别可能会出现难以识别或误识别的情况,影响信息获取的准确性。

发明内容

本公开提供了一种立体图形码、立体图形码识别方法、立体图形码识别装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中图形码信息存储有限,且识别过程对环境要求高,识别准确性较差的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种立体图形码,包括:平行设置的至少三个图形层,所述至少三个图形层在任一图形层的法线方向上的投影位置均不相同,使得沿所述法线方向采集得到的所述三个图形层的深度信息均不相同。

根据本公开的第二方面,提供一种立体图形码识别方法,包括:获取第一方面所述的立体图形码的深度信息;根据所述深度信息识别所述立体图形码中的至少三个图形层;根据所述至少三个图形层,得到至少一张二值图像。

根据本公开的第三方面,提供一种立体图形码识别装置,包括:深度信息获取模块,用于获取第一方面所述的立体图形码的深度信息;图形层识别模块,用于根据所述深度信息识别所述立体图形码中的至少三个图形层;二值图像获得模块,用于根据所述至少三个图形层,得到至少一张二值图像。

根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面的立体图形码识别方法及其可能的实现方式。

根据本公开的第五方面,提供一种电子设备,包括:处理器;存储器,用于存储所述处理器的可执行指令。其中,所述处理器配置为经由执行所述可执行指令,来执行上述第二方面的立体图形码识别方法及其可能的实现方式。

本公开的技术方案具有以下有益效果:

本示例性实施例中的立体图形码,平行设置的至少三个图形层,至少三个图形层在任一图形层的法线方向上的投影位置均不相同,使得延法线方向采集得到的三个图形层的深度信息均不相同。一方面,本示例性实施例所述的立体图形码,打破了二维空间中图形码信息容量的限制,通过设置在任一图形层在法线方向上的投影位置均不相同的至少三个图形层,使得每个图形层具有不同的深度,从三维空间出发基于不同深度的图形层构建立体图形码,丰富了立体图形码多样化,提高了立体图形码中所包含信息的容量;另一方面,由于不同图形层具有不同的深度信息,因此可以基于深度信息识别不同的图形层,相比于采集图形码图像进行识别的方式,识别过程简单,且识别准确性较高;再一方面,考虑到本示例性实施例的立体图形码可以基于深度信息被识别,识别过程不受环境光线的影响,在夜晚或光线较弱的室内环境中,仍然能够对图形层进行准确、快速的识别,应用范围较广。

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

附图说明

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

图1示出本示例性实施方式中一种立体图形码识别方法的系统架构的示意图;

图2示出本示例性实施方式中一种立体图形码识别方法的电子设备的结构图;

图3示出本示例性实施方式中一种立体图形码的示意图;

图4示出本示例性实施方式中一种立体图形码的另一种示意图;

图5示出本示例性实施方式中一种立体图形码识别方法的流程图;

图6示出本示例性实施方式中一种图形层的示意图;

图7示出本示例性实施方式中一种立体图形码识别方法的子流程图;

图8示出本示例性实施方式中另一种立体图形码识别方法的子流程图;

图9示出本示例性实施方式中另一种图形层的示意图;

图10示出本示例性实施方式中一种基于图形层生成二值图像的示意图;

图11示出本示例性实施方式中另一种基于图形层生成二值图像的示意图;

图12示出本示例性实施方式中再一种立体图形码识别方法的子流程图;

图13示出本示例性实施方式中一种立体图形码识别装置的结构框图。

具体实施方式

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

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

本公开的示例性实施方式提供一种立体图形码识别方法。图1示出了本示例性实施方式运行环境的系统架构图。如图1所示,该系统架构100可以包括服务端110和终端120,两者之间通过网络形成通信交互,例如服务端110将生成的二值图像发送至终端120。其中,服务端110是指提供互联网服务的后台服务器;终端120包括但不限于智能手机、平板电脑、游戏机、可穿戴设备等。

应当理解,图1中各装置的数量仅是示例性的。根据实现需要,可以设置任意数量的客户端,或者服务端可以是多台服务器形成的集群。

本公开实施方式所提供的立体图形码识别方法可以由终端120执行,例如由终端120配置的深度传感器向立体图形码发射深度探测信号,接收反射信号,并根据该反射信号,对图形层进行识别,生成二值图像;也可以由服务端110执行,例如终端120在接收到反射信号后,上传到服务端110,使服务端110根据反射信号,对图形层进行识别,生成二值图像等,本公开对此不做限定。

本公开的示例性实施方式提供一种用于实现立体图形码识别方法的电子设备,其可以是图1中的服务端110和终端120。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行立体图形码识别方法。

下面以图2中的移动终端200为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。

如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、USB(Universal Serial Bus,通用串行总线)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏幕290、摄像模组291、指示器292、马达293、按键294以及SIM(Subscriber Identification Module,用户标识模块)卡接口295等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。编码器可以对图像或视频数据进行编码(即压缩);解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据。

在一些实施方式中,处理器210可以包括一个或多个接口,通过不同的接口和移动终端200的其他部件形成连接。

内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括易失性存储器、非易失性存储器等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。

外部存储器接口222可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储器通过外部存储器接口222与处理器210通信,实现数据存储功能,例如存储音乐,视频等文件。

USB接口230是符合USB标准规范的接口,可以用于连接充电器为移动终端200充电,也可以连接耳机或其他电子设备。

充电管理模块240用于从充电器接收充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为设备供电;电源管理模块241还可以监测电池的状态。

移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块260可以提供应用在移动终端200上的包括WLAN(Wireless LocalArea Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。移动终端200可以通过GPU、显示屏幕290及AP等实现显示功能,显示用户界面。

移动终端200可以通过ISP、摄像模组291、编码器、解码器、GPU、显示屏幕290及AP等实现拍摄功能,还可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及AP等实现音频功能。

传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803、气压传感器2804等,以实现不同的感应检测功能。

指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达293可以产生振动提示,也可以用于触摸振动反馈等。按键294包括开机键,音量键等。

移动终端200可以支持一个或多个SIM卡接口295,用于连接SIM卡,以实现通话以及数据通信等功能。

首先,本示例性实施例提供了一种立体图形码,图3示出了本示例性实施例中一种立体图形码的示意图,该立体图形码300,可以包括:平行设置的至少三个图形层,至少三个图形层在任一图形层的法线方向上的投影位置均不相同,使得沿法线方向采集得到的三个图形层的深度信息均不相同。用户可以通过深度传感器对上述立体图形码300进行扫描,以识别每一图形层,从而获取立体图形码所包含的信息。

在本示例性实施例中,上述立体图形码300可以表示多种类型的图形码,例如二维码、条形码或者其他可以通过扫描立体图形码获取信息的图形码等,则每一图形层即为组成二维码或条形码等图形码的子图形,不同的图形层相组合可以构成完整的二维码或条形码。上述立体图形码可以被设置在任意场景的材料上,例如固定在商场的橱窗玻璃、墙面或桌子上等,以通过用户扫描获取立体图形码所包含的信息,或者用于装饰墙面等等。

上述立体图形码300可以包括至少三个图形层,至少三个图形层在任一图形层的法线方向上的投影位置均不相同,是指至少三个图形层中,每个图形层的深度均不相同,假设立体图形码300包括三个平行设置的图形层,则这三个图形层在任一图形层的法线方向上的投影位置,如图4所示,分别对应图形层410、图形层420以及图形层430的投影位置,可以看出这三个图形层具有不同的深度,图形层410的深度小于图形层420小于图形层430。因此,无论以哪一图形层的法线方向为基准进行投影,这三个图形层的投影位置均不相同。需要说明的是,图4仅为示意性说明不同深度的三个图形层的投影示意图,在实际应用中,当每个图形层的立体图形码较为复杂时,每个图形层的投影位置也会随之复杂。另外,相邻两个图形层的深度差值以及每个图形层自身的深度可以根据需要进行自定义设置,本公开对此不做具体限定,例如处于最底层的图形层可以设置的较小的深度。在本示例性实施例中,考虑到深度传感器的实际分辨率,可以将立体图形码的总尺寸设置在10cm(厘米)至1m(米)数量级范围内,每一层图形层之间的间距可以设置为1cm至1m范围内等等。

在一示例性实施例中,上述至少三个图形层可以包括m个图形层组,每个图形层组可以包括至少两个图形层,每个图形层组可以形成立体图形码中的一个二维码。举例说明,立体图形码可以是包含多个二维码的图形码,假设立体图形码包含4层图形层,其中,可以包括2个图形层组,每个图形层组包括2个图形层,这2个图形层可以分别表示二维码的黑色区域和白色区域,基于此,2个图形层组可以确定2个二维码。

在一示例性实施例中,为了提高对立体图形码的识别准确性,可以设置每个图形层的颜色相同,且至少三个图形层的颜色均不相同,以此可以通过对立体图形码的颜色识别结果和深度识别结果,共同确定立体图形码的最终识别结果,以提高识别准确性。

综上,本示例性实施例中的立体图形码,平行设置的至少三个图形层,至少三个图形层在任一图形层的法线方向上的投影位置均不相同,使得延法线方向采集得到的三个图形层的深度信息均不相同。一方面,本示例性实施例所述的立体图形码,打破了二维空间中图形码信息容量的限制,通过设置在任一图形层在法线方向上的投影位置均不相同的至少三个图形层,使得每个图形层具有不同的深度,从三维空间出发基于不同深度的图形层构建立体图形码,丰富了立体图形码多样化,提高了立体图形码中所包含信息的容量;另一方面,由于不同图形层具有不同的深度信息,因此可以基于深度信息识别不同的图形层,相比于采集图形码图像进行识别的方式,识别过程简单,且识别准确性较高;再一方面,考虑到本示例性实施例的立体图形码可以基于深度信息被识别,识别过程不受环境光线的影响,在夜晚或光线较弱的室内环境中,仍然能够对图形层进行准确、快速的识别,应用范围较广。

另外,本示例性实施例还提供了一种立体图形码识别方法,该方法的应用场景可以包括但不限于:导航定位场景中,用户通过智能手机扫描商场中的立体图形码,获取当前的定位信息或商场信息等;在VR(Virtual Reality,虚拟现实)/AR(Augmented Reality,增强现实)游戏场景中,用户通过扫描立体图形码识别不同图形层,以获取游戏信息或触发游戏任务;或者用户在支付场景中通过对立体图形码进行扫描,识别对应的付款码,以完成支付等等,其中立体图形码即为上述所描述的立体图形码。

图5示出了立体图形码识别方法的示例性流程,可以由上述服务端110或终端120执行,包括以下步骤S510至S530:

步骤S510,获取上述立体图形码的深度信息。

其中,立体图形码是指上述具有至少三个图形层的立体的3维图形码,该立体图形码可以包括二维码、条形码或者其他信息等的图形码。本示例性实施例可以应用于智能手机、笔记本电脑、平板电脑、VR或AR等配置有深度传感器的电子设备中,并通过深度传感器来获取立体图形码的深度信息。其中,深度传感器可以包括深度探测信号发射组件和反射信号接收组件。特别的,上述深度传感器可以包括TOF(Time of Flight,时间飞行)传感器,例如ITOF(Indirect TOF,间接测量飞行时间)传感器或DTOF(Direct TOF,直接测量飞行时间)传感器等。

在本示例性实施例中,深度传感器可以向环境中发射深度探测信号,并接收环境中的立体图形码所反射的反射信号,其中,深度探测信号可以是红外脉冲信号,例如TOF传感器可以通过深度探测信号发射组件可以向前方环境中发射红外脉冲信号,红外脉冲信号到达环境中的图形层后,部分会被反射回来,即反射信号;反射信号接收组件则可以接收从环境中反射回来的反射信号,进一步,基于该反射信号进行图形层的识别。当采用TOF传感器时,可以采用发射波长为940nm的VCSEL(Vertical-Cavity Surface-Emitting Laser,垂直腔面发射激光器)作为光源,当然,也可以采用其他波长,如845nm,1350nm等激光器等等,本公开对此不做具体限定。

步骤S520,根据深度信息识别立体图形码中的至少三个图形层。

在本示例性实施例中,由于立体图形码中包括至少三个图形层,且图形层具有不同的深度,因此,当立体图形码中各个图形层接收到深度探测信号时,不同深度的图形层所返回的反射信号是具有差异的,本示例性实施例可以根据反射信号,基于底层算法求解深度探测信号的飞行时间信息,从而确定每个图形层距离深度传感器的距离。根据深度传感器类型的不同,飞行时间信息可以具有不同的计算方式,例如ITOF传感器可以采用测相位偏移的方法,通过发射正弦波/方波与接收正弦波/方波之间的相位差,测量飞行时间信息;而DTOF传感器则可以通过测量发射红外脉冲信号与接收红外脉冲信号的时间间隔来测量飞行时间信息。通过飞行时间确定任一图形层距离深度传感器的深度信息,从而对每个图形层进行还原。

由于立体图形码是由至少三个不同深度的图形层构成的,每个图形层都可以作为独立的一个子图形,如图6所示,以三个图形层进行举例说明,示出了一种立体图形码中三个图形层的俯视图,图6左中,白色区域为第一层图形层610,黑色区域为第二层图形层620,图6右中,黑色区域为第三层图形层630,可以看出,每一图形层都可以视为从立体图形码中提取出来的子图形,各个不同深度的图形层相叠加,可以形成了本示例性实施例中的3维立体图形码。

步骤S530,根据至少三个图形层,得到至少一张二值图像。

在本示例性实施例中,根据识别出的立体图形码中的至少三个图形层进行不同的组合,可以确定出新的图形码,例如图6所示的立体图形码中,将图形层610作为背景图形层,将图形层620与图形层630相叠加作为前景图形层,可以得到以图形层620加图形层630组合而成的二维码。需要说明的是,图6中的黑色区域与白色区域仅为示意性说明,在实际应用中,每个图形层的颜色可以是相同的也可以是不同的,本示例性实施例对图形层的颜色不进行限定,每个图形层只要具有不同的深度即可。本示例性实施例可以根据对各个图形层的识别结果,得到至少一张二值图像,其中,二值图像是指每个像素点仅包含两种编码取值的图像,其可以用于对字符图像或数字图像进行描述,例如图6中,对前景图形层和背景图形层进行编码,可以基于图形层610、图形层620与图形层630,生成一张能够表征二维码“0”、“1”逻辑的二值图像。

需要说明的是,本示例性实施例可以对立体图形码进行识别,得到对应的二值图像,例如将3维图形码还原为二维码;也可以对立体图形码识别,并对生成的二值图像进行解析,例如将3维立体图形码还原为二维码,并对二维码的信息进行解析等等,即本示例性实施例可以仅用于还原立体图形码中所包含的图形码,也可以用于还原立体图形码并解析获取其中所包含的信息的应用场景中,本公开对此不做具体限定。

综上,本示例性实施方式中,获取立体图形码的深度信息;根据所述深度信息识别所述立体图形码中的至少三个图形层;根据所述至少三个图形层,得到至少一张二值图像。一方面,由于本示例性实施例中的立体图形码具有不同深度信息的图形层,因此,可以根据深度信息,对至少三个图形层进行准确识别,并根据图形层,生成二值图像,相比于采集立体图形码图像进行识别的方式,过程简单,且保证了生成的二值图像的准确性;另一方面,考虑到本示例性实施例的立体图形码是基于深度信息识别的,识别过程不受环境光线的影响,因此,能够在夜晚或光线较弱的室内环境中,对图形层进行准确、快速的识别,进而确定准确的二值图像,应用范围广泛。

在一示例性实施例中,上述深度信息包括立体图形码中不同位置的深度值;上述步骤S520可以包括以下步骤:

将深度信息中深度值相同的位置形成一个图形层,以识别立体图形码中的至少三个图形层。

本示例性实施例可以通过深度传感器获取立体图形码中不同位置的深度信息,其中,深度传感器可以包括多个处于不同位置的元件,用于接收从立体图形码反射回来的反射信号,通过计算飞行时间确定深度图像中不同像素点的深度信息,例如SPAD(SinglePhoton Avalanche Diode,单光子雪崩二极管),该深度信息可以是立体图形码中不同位置的深度值。不同深度值的图形层距离深度传感器的距离是不同的,因此,本示例性实施例可以根据反射信号确定出的每个图形层的深度值,来对至少三个图形层进行识别,当待判断位置的深度值相同或相近的时,可以认为待判断位置属于相同的图形层,当待判断位置的深度值相差超过一定程度时,可以认为待判断位置属于不相同的图形层,即可以通过将深度值相同的位置进行归类,以形成一个图形层。

在一示例性实施例中,如图7所示,上述步骤S530,可以包括以下步骤:

步骤S710,在至少三个图形层中提取至少一个前景图形层与至少一个背景图形层;

步骤S720,在前景图形层对应的图像区域填充第一像素值,在背景图形层对应的图像区域填充第二像素值,生成二值图像。

其中,前景图形层是指所需要生成的二值图像中,能够体现图形信息的区域,例如二维码的黑色区域,背景图形层是指可以作为背景的图形层,例如二维码的白色区域,对前景图形层和背景图形层分别进行编码可以生成二值图像。本示例性实施例可以从至少三个图形层中提取至少一个前景图形层与至少一个背景图形层,在前景图形层对应的图像区域填充第一像素值,在背景图形层对应的图像区域填充第二像素值,生成二值图像。举例说明,在图6所示的3个图形层中,可以以图形层610作为背景图形层,以图形层620以及图形层630作为前景图形层,并设置前景图形层对应的图像区域填充第一像素值“1”,背景图形层对应的图像区域填充第二像素值“0”,则将前景图形层与背景图形层相叠加,则可以生成具有“1”、“0”逻辑的二值图像,即二维码的图像。需要说明的是,上述以黑色区域作为前景图形层,以白色区域作为背景图形层,进行“1”、“0”编码,仅作示意性说明,在实际应用中,还可以将白色区域作为前景图形层,以黑色区域作为背景图形层等等,本公开对此不做具体限定。

在一示例性实施例中,如图8所示,上述步骤S710可以包括以下步骤:

步骤S810,从至少三个图形层中提取n个不同的图形层组,每个图形层组包括至少一个前景图形层与至少一个背景图形层,n为不小于2的正整数;

进一步的,步骤S720可以包括:

步骤S820,对于每个图形层组,在前景图形层对应的图像区域填充第一像素值,背景图形层对应的图像区域填充第二像素值,生成图形层组对应的一张二值图像,以最终得到n个图形层组对应的n张二维图像。

本示例性实施例可以通过不同的图形层组提取策略,生成不同图形层组对应的二值图像。以立体图形码包括自底向上P

此外,上述实施例示出了两个图形层组对应确定的两张二值图像,在其他实施例中,还可以有其他多种图形层组确定其他的二值图像,例如将图形层P

本示例性实施例,通过深度传感器对同一立体图形码进行识别,可以根据提取不同图形层组,确定多样化的二值图像,在多种应用场景下,可以具有不同的作用,例如在实景游戏中,玩家可以通过对同一立体图形码的扫码,触发不同二值图像对应的游戏内容;在支付场景中,商家可以将两种平台的支付码融合在一个立体图形码中,用户通过对立体图形码进行扫码,可以识别其中能够扫描到付款信息的二维码,从而避免扫码异常或误扫码的情况;在其他应用场景中,还可以通过扫描立体图形码,获取不同图案的二值图像,并呈现给用户,以增加扫码趣味性,应用场景具有多元化。由于立体图形码可以根据深度信息进行识别,因此,本示例性实施例还可以是立体图形码上布置多样化的图案,以提高用户的感观体验。

特别的,为了提高二值图像生成的多样性和复杂性,以保证二值图像所包含图像信息的安全性,在一示例性实施例中,前景图形层的数量不小于2,或者背景图形层的数量不小于2,即可以通过在立体图形码中提取至少提取2张前景图形层或者至少2张背景图形层进行组合,来生成不同的二值图像。

在一示例性实施例中,上述立体图形码识别方法还可以包括:

对二值图像进行解析,输出二值图像对应的二维码信息。

本示例性实施例特别可以应用于对二维码进行识别的场景中,二值图像可以对应二维码,通过对二值图像进行解析,可以输出二值图像对应的二维码信息,例如可以从二值图像中确定位置探测区域、定位区域以及校正区域,以对二维码进行定位以及校正等处理,进一步,从二值图像中确定出二维码的编码区域,通过对编码区域对应的编码字符进行处理,可以得到对应的二维码信息,该二维码信息可以包括场景的定位的信息、商铺的推荐信息或者热销商品信息等,用户可以通过在商场中扫描立体图形码对当前位置进行定位;二维码信息还可以包括支付信息,用于通过扫描立体图形码完成付款等等。

在本示例性实施例中,由于立体图形码中可以包括多个二维码,当用户在对立体图形码进行扫码时,可以实现在对用户当前位置进行定位的同时,向用户推荐商铺或商品等;或者在用户进行扫码支付的同时,为用户提供商铺信息等等,本公开对此不做具体限定。

在一示例性实施例中,如图12所示,上述步骤S520,可以包括以下步骤:

步骤S1210,基于深度信息,对立体图形码中的图形层进行识别,得到第一识别结果;

上述立体图形码识别方法还可以包括:

步骤S1220,获取针对立体图形码所采集的图像,利用图像对立体图形码中的图形层进行识别,得到第二识别结果;

步骤S1230,根据第一识别结果与第二识别结果,识别立体图形码中的至少三个图形层。

在实际应用中,仅通过深度信息来识别图形层,可以出现深度信息丢失造成深度识别不准确的情况,影响对各个图形层的准确识别。为了提高立体图形码识别的准确率,本示例性实施例可以从深度识别和图像识别两个方面,综合确定立体图形码的识别结果。其中,第一识别结果是指根据深度信息确定的立体图形码中各个图形层的识别结果,第二识别结果是指根据图像信息确定的立体图形码中各个图形层的识别结果。

具体的,在一示例性实施例中,可以设置每个图形层的颜色相同,且至少三个图形层的颜色均不相同;进一步,上述步骤S1220可以包括以下步骤:

将所述图像中颜色相同的区域作为一个图形层,以识别出所述图形中的至少三个图形层,得到第二识别结果。

即可以对不同的图形层设置不同的颜色,在对立体图形码进行识别时,由于每个图形层的颜色相同,且至少三个图形层的颜色均不相同,因此,可以通过对每个区域的颜色识别确定其属于哪一图形层,具体的,可以将颜色相同的区域作为一个图形层,进而将图像中不同颜色的区域划分至对应的图形层中。

本示例性实施例一方面,通过深度传感器发射深度探测信号并接收反射信号,来确定每个位置属于哪一图形层,根据深度信息确定每个图形层,即第一识别结果;另一方面,由于每一个图形层都具有不同的颜色,因此,可以通过对颜色的识别来确定每一图形层,例如可以对立体图形码进行图像采集,通过对采集的图像进行识别,根据颜色信息确定每个图形层,即第二识别结果。最后,通过第一识别结果和第二识别结果,共同确定图形中的至少三个图形层。

具体而言,当识别到某一位置的第一识别结果与第二识别结果一致时,说明对该位置当前属于哪一图形层的识别结果较为准确。当某一位置的第一识别结果与第二识别结果不一致时,说明该位置的识别结果存在差异,可以进一步通过其他方式判断该位置属于哪一图形层,例如在采集该位置的深度信息时,可以获取深度信息对应的置信度,若置信度较低,则说明该位置的深度信息不准确,可以以第二识别结果为准;若置信度较高,则可以以第一识别结果为准等;此外,还可以通过判断该位置与周围位置的颜色值之差来确定,若该位置与周围位置的颜色值之差较大,则与周围位置不属于相同的图形层,反之,则属于相同的图形层,由此,也可以确定第二识别结果是否准确等等,本公开对此不做具体限定。基于此,进一步提高了本示例性实施例,在多种应用场景下立体图形码识别的准确性和灵活性。

本公开的示例性实施方式还提供一种立体图形码识别装置。如图13所示,该图形识别装置1300可以包括:深度信息获取模块1310,用于获取立体图形码的深度信息;图形层识别模块1320,用于根据深度信息识别立体图形码中的至少三个图形层;二值图像获得模块1330,用于根据至少三个图形层,得到至少一张二值图像。

在一示例性实施例中,深度信息包括立体图形码中不同位置的深度值;图形层识别模块包括:图形层识别单元,用于将深度信息中深度值相同的位置形成一个图形层,以识别立体图形码中的至少三个图形层。

在一示例性实施例中,二值图像获得模块包括:图形层提取单元,用于在至少三个图形层中提取至少一个前景图形层与至少一个背景图形层;二值图像生成单元,用于在前景图形层对应的图像区域填充第一像素值,在背景图形层对应的图像区域填充第二像素值,生成二值图像。

在一示例性实施例中,图形层提取单元包括:提取子单元,用于从至少三个图形层中提取n个不同的图形层组,每个图形层组包括至少一个前景图形层与至少一个背景图形层,n为不小于2的正整数;二值图像生成单元包括:生成子单元,用于对于每个图形层组,在前景图形层对应的图像区域填充第一像素值,背景图形层对应的图像区域填充第二像素值,生成图形层组对应的一张二值图像,以最终得到n个图形层组对应的n张二维图像。

在一示例性实施例中,前景图形层的数量不小于2,或者背景图形层的数量不小于2。

在一示例性实施例中,图形层识别模块,包括:第一识别单元,用于基于深度信息,对立体图形码中的图形层进行识别,得到第一识别结果;图形识别装置还包括:第二识别单元,用于获取针对立体图形码所采集的图像,利用图像对立体图形码中的图形层进行识别,得到第二识别结果;识别单元,用于根据第一识别结果与第二识别结果,识别立体图形码中的至少三个图形层。

在一示例性实施例中,上述每个图形层的颜色相同,且至少三个图形层的颜色均不相同,第二识别单元,用于将图像中颜色相同的区域作为一个图形层,以识别出图形中的至少三个图形层,得到第二识别结果。

上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,因而不再赘述。

本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为程序产品的形式,包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图5、图7、图8或图12中任意一个或多个步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

相关技术
  • 立体图形码、立体图形码识别方法、装置、介质、设备
  • 图形码识别方法、装置、计算机设备和存储介质
技术分类

06120113161823