技术领域
[0001] 本
发明涉及二维码技术领域,特别是涉及复杂二维码的识别方法、系统、介质及设备。
背景技术
[0002] 目前,二维码技术的应用领域越来越广泛,比如:移动支付、共享单车、扫码点餐、添加好友等。然而,随着二维码的广泛应用,一幅二维码图像所表示的内容也在逐渐变得越来越多。当二维码图像的内容增多时,二维码图案也就随之变得更为复杂,一次性地获取二维码的全部图案,并对该图案进行识别,直接带来的后果就是二维码图像的识别效率下降,有时需要多次识别才能成功,有时虽然尝试多次但仍旧无法识别。
发明内容
[0003] 鉴于以上所述
现有技术的缺点,本发明的目的在于提供复杂二维码的识别方法、系统、介质及设备,用于解决现有技术中二维码图案的复杂程度升高会导致二维码识别效率降低的技术问题。
[0004] 为实现上述目的及其他相关目的,本发明提供一种复杂二维码的识别方法,包括:每次获取待识别的二维码图像的部分图案;将所获取的所有部分图案进行合并,以得到所述二维码图像的完整图案;对所述完成图案进行二维码识别。
[0005] 于本发明一
实施例中,所述将所获取的所有部分图案合并的实现方式包括:每次获取一所述部分图案后,与前期获取的部分图案进行合并,并判断是否能得到所述二维码图像的完成图案;或者,每次获取一所述部分图案,直至所有的部分图案皆获取完毕后进行合并,以生成所述二维码图像的完整图案。
[0006] 于本发明一实施例中,所述每次获取待识别的二维码图像的部分图案的实现方式包括:通过即时
定位与地图构建技术进行获取。
[0007] 于本发明一实施例中,所述部分图案的外轮廓呈规则形状或不规则形状。
[0008] 为实现上述目的及其他相关目的,本发明提供一种复杂二维码的识别系统,包括:图像获取模
块,用于每次获取待识别的二维码图像的部分图案;图像合并模块,用于将所获取的所有部分图案进行合并,以得到所述二维码图像的完整图案;
图像识别模块,用于对所述完成图案进行二维码识别。
[0009] 于本发明一实施例中,所述图像合并模块将所获取的所有部分图案合并的实现方式包括:每次获取一所述部分图案后,与前期获取的部分图案进行合并,并判断是否能得到所述二维码图像的完成图案;或者,每次获取一所述部分图案,直至所有的部分图案皆获取完毕后进行合并,以生成所述二维码图像的完整图案。
[0010] 于本发明一实施例中,所述图像获取模块每次获取待识别的二维码图像的部分图案的实现方式包括:通过
即时定位与地图构建技术进行获取。
[0011] 于本发明一实施例中,所述部分图案的外轮廓呈规则形状或不规则形状。
[0012] 为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有
计算机程序,所述计算机程序被处理器加载执行时,实现所述的复杂二维码的识别方法。
[0013] 为实现上述目的及其他相关目的,本发明提供一种
电子设备,包括:摄像头、处理器及
存储器;其中,所述摄像头用于拍摄图像;所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的复杂二维码的识别方法。
[0014] 如上所述,本发明的复杂二维码的识别方法、系统、介质及设备,每次获取待识别的二维码图像的部分图案;将所获取的所有部分图案进行合并,以得到所述二维码图像的完整图案;对所述完成图案进行二维码识别。从而,本发明提升了复杂二维码的识别成功率。
附图说明
[0015] 图1显示为本发明一实施例中的复杂二维码的识别方法的流程示意图。
[0016] 图2显示为本发明另一实施例中的复杂二维码的识别方法的原理示意图。
[0017] 图3显示为本发明另一实施例中的复杂二维码的识别方法的流程示意图。
[0018] 图4显示为本发明一实施例中的复杂二维码的识别系统的模块示意图。
[0019] 图5显示为本发明一实施例中的电子设备的结构示意图。
具体实施方式
[0020] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本
说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0021] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0022] 请参阅图1,本实施例提供一种复杂二维码的识别方法,由电子设备负责执行。当该电子设备本身具备摄像头或其它图像获取部件时,该电子设备可自行执行本方法;当该电子设备本身不具备摄像头或其它图像获取部件时,该电子设备可控制其它具备摄像头的电子设备来实现本方法。所述电子设备包括但不限于:智能手机、
平板电脑、无人机、工业
机器人。
[0023] 本实施例所谓的复杂二维码亦可成为长内容二维码,这种二维码图像所包含的内容很多,二维码图案十分复杂,若一次性地获取该二维码图像的全部图案并加以识别,可能会出现识别失败或识别出错等问题。
[0024] 如图1所示,本实施例的复杂二维码的识别方法包括以下步骤:
[0025] S11:每次获取待识别的二维码图像的部分图案;
[0026] 所谓的部分图案可以是完整图案的N分之一(N正整数),以常见的正方形的二维码图像为例,部分图案可以是完整图案的左上四分之一正方形、右上四分之一正方形、左下四分之一正方形、右下四分之一正方形,如图2所示。或者,所谓的部分图案还可以是完整图案的中间部分、边
角部分、侧边部分等。也就是说,实施例不限定摄像头每次获取二维码图像的哪个部分,更不限定摄像头每次拍摄二维码图像的部分是规则形状还是不规则形状。
[0027] S12:将所获取的所有部分图案进行合并,以得到所述二维码图像的完整图案;
[0028] 具体而言,如图3所示,电子设备每次获取一所述部分图案后,可以直接与前期获取的部分图案进行合并,并判断是否能得到所述二维码图像的完成图案,若能得到则进行二维码识别,若不能得到再继续获取下一部分图案。
[0029] 以智能手机识别复杂二维码的场景为例,智能手机使用摄像模式边移动边存储固定时间间隔拍到的图像
帧Fi,并对存储的每个图像帧Fi做合成操作。合成可利用二维码上的标识信息来确定各部分图案在整个图案中的具体
位置,由于图像拼合并不是本发明的重点研究对象,故于此不对拼合技术展开介绍。合成结果为G,G=F1+F2+F3+…+Fi。每次合成完后,对合成结果G做检测,如果未完成合成,则继续取新帧合成。如果已经完成合成,则通过二维码解码程序对G进行尝试解码。
[0030] 或者,电子设备每次获取一所述部分图案,直至所有的部分图案皆获取完毕后进行合并,以生成所述二维码图像的完整图案。
[0031] 较佳的,本步骤通过即时定位与地图构建技术获取所谓的部分图案。即时定位与地图构建技术(simultaneous localization and mapping,SLAM),也称为并发建图与定位技术(Concurrent Mapping and Localization,CML)。这项技术可以描述为:将一个机器人放入未知环境中的未知位置,让机器人一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。在本实施例中,用于获取部分图案的摄像头就类似于该机器人,摄像头在复杂二维码图像上随意移动着,一边移动一边获取着移动轨迹上的二维码图案,也即所谓的部分图案,直至摄像头的移动轨迹
覆盖了整个复杂二维码图像,此时,该复杂二维码图像的完整图案也就被还原完毕。
[0032] S13:对所述完成图案进行二维码识别。
[0033] 实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的
硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的
服务器、
数据中心等数据存储设备。所述可用介质可以是
磁性介质(如:
软盘、
硬盘、磁带)、光介质(如:DVD)、或者
半导体介质(如:固态硬盘Solid State Disk(SSD))等。
[0034] 参阅图4,本实施例提供一种复杂二维码的识别系统40,作为一款
软件搭载于电子设备中,以在运行时执行前述方法实施例所述的复杂二维码的识别方法。由于本系统实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。
[0035] 本实施例的复杂二维码的识别系统40具体包括:图像获取模块41、图像合并模块42、图像识别模块43。图像获取模块41用于执行前述方法实施例介绍的步骤S11,图像合并模块42用于执行前述方法实施例介绍的步骤S12,图像合并模块42用于执行前述方法实施例介绍的步骤S13。
[0036] 本领域技术人员应当理解,图4实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,图像合并模块42可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于存储器中,由某一个处理元件调用并执行图像合并模块42的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成
电路,具有
信号的处理能
力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成
逻辑电路或者软件形式的指令完成。
[0037] 参阅图5,本实施例提供一种电子设备50,电子设备50可以是台式机、便携式电脑、智能手机、
工业机器人等带有摄像头的设备。详细的,电子设备50还应至少包括通过总线51连接的:存储器42、处理器43,其中,存储器42用于存储计算机程序,处理器43用于执行存储器42存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
[0038] 上述提到的
系统总线可以是外设部件互连标准(Peripheral Pomponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该系统总线可以分为
地址总线、
数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信
接口用于实现
数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含
随机存取存储器(Random Access Memory,简称RAM),也可能还包括
非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0039] 上述的处理器可以是通用处理器,包括
中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是
数字信号处理器(Digital Signal Processing,简称DSP)、
专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程
门阵列(Field-Programmable Gate Array,简称FPGA)或者其他
可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0040] 综上所述,本发明的复杂二维码的识别方法、系统、介质及设备,通过将复杂二维码图像化整为零,部分拍摄完成后进行合成,合成完毕后再进行识别,从而提升了复杂二维码的识别成功率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0041] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的
权利要求所涵盖。