METHOD, DEVICE, AND STORAGE MEDIUM FOR IDENTIFYING TWO-DIMENSIONAL CODE

21-09-2017 дата публикации
Номер:
WO2017157034A1
Принадлежит: 中兴通讯股份有限公司
Контакты:
Номер заявки: CN57-10-201632
Дата заявки: 14-11-2016

一种二维码的识别方法及装置、存储介质

技术领域

[1]

本发明涉及图像识别技术,尤其涉及一种二维码的识别方法及装置、存储介质。

背景技术

[2]

随着信息技术的高速发展,越来越多的不同信息媒介得到广泛应用,二维码(Two-dimensional code)作为一种简单、低成本、且传播方便的新型媒介,如今已在各式各样的工作和生活场景中随处可见。二维码,又称二维条码,是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形。此外,二维码的编码巧妙地利用了构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备等终端自动识读,以实现信息的自动处理。

[3]

与一维码相比,二维码是一种更高级的条码格式。由于一维码只能在一个方向(一般为水平方向)上存储信息,而二维码在水平、垂直方向上都可以存储信息;一维码只能由数字和字母组成,而二维码可以存储汉字、数字和图片等信息,因此,二维码的应用领域要广得多,如:产品防伪/溯源、广告推送、网站链接、数据下载、定位/导航、电子凭证、车辆管理、信息传递等。

[4]

通过对相关二维码识别技术的检索和调研发现:目前的二维码识别场景大多局限于被动发光的情况下,即在一般不发光物体表面上粘贴二维码,且二维码的识别方法虽然很多,但大体都是按照如下处理流程:图像灰度化、图像增强、图像滤波处理、光照不均处理、二值化、边缘检测、图像 定位、图像校正和畸变校正等。其中,图像灰度化是将拍摄的彩色图片转换为灰度化图像,该处理过程能够消除彩色图片中的色彩信息,减少后续处理的复杂度;图像滤波是二维码识别过程中非常重要的一个环节,能将获取图像过程中产生的高斯噪声、椒盐噪声等滤除,避免噪声对解码的影响,进而提高识别率;二值化即选取合适的阈值,将灰度化图像转变成只有“0”和“1”的二值化图像;图像校正是利用空间位置关系,将因拍摄角度不正等因素而干扰解码的图像纠正为水平的、易于解码的图像。

[5]

通过上述处理流程,能够快速、且准确率较高地识别出现有一般的二维码,而对于如何识别主动发光情景下的二维码,目前尚未提出很好的解决方案。特别地,随着发光二极管(LED,Light Emitting Diode)作为新一代绿色光源的普及,LED凭借高亮度、低功耗、长寿命、快启动、无频闪、不容易产生视觉疲劳等优点,已逐渐取代传统的节能灯和白炽灯,成为最受关注和推崇的绿色照明技术。除此之外,由于LED还具有响应时间短和高速调制的特性,使其在照明的同时,还能应用于可见光通信和室内定位等。因此,基于LED阵列显示的二维码在很多场合都得到了应用。

[6]

但是,如何快速、准确地识别由LED阵列主动发光显示的二维码,尚无有效解决方案。

[7]

发明内容

[8]

有鉴于此,本发明实施例期望提供一种二维码的识别方法及装置、存储介质,能够快速、准确地识别由LED阵列主动发光显示的二维码,提高读取二维码信息的效率,从而提升用户的使用感知。

[9]

为达到上述目的,本发明实施例的技术方案是这样实现的:

[10]

本发明实施例提供一种二维码的识别方法,所述方法包括:

[11]

采集包含发光显示的二维码的待识别图像;

[12]

提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定 所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[13]

上述方案中,所述采集包含发光显示的二维码的待识别图像包括:

[14]

选择识别二维码的工作模式;

[15]

根据所述选择的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

[16]

上述方案中,所述采用所述选择的工作模式对应的测光方式采集所述待识别图像,包括:

[17]

所述选择的工作模式为单二维码识别模式时,采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

[18]

所述选择的工作模式为多二维码识别模式时,采用平均测光方式读取所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

[19]

上述方案中,所述对所述二维码进行特殊预处理,包括:检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理。

[20]

上述方案中,所述检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理,包括:

[21]

若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

[22]

若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

[23]

上述方案中,所述检测每种排列组合是否满足一定条件,包括:

[24]

根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进 行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

[25]

上述方案中,在所述确定所述待识别图像中的二维码位置之后,所述方法还包括:

[26]

对所述二维码位置内的二维码进行预处理,将经过预处理后的二维码进行译码得到相应信息;

[27]

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

[28]

上述方案中,所述二维码为基于LED阵列显示的二维码。

[29]

本发明实施例还提供一种二维码的识别装置,所述装置包括:采集模块、识别模块;其中,

[30]

所述采集模块,配置为采集包含发光显示的二维码的待识别图像;

[31]

所述识别模块,配置为提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[32]

上述方案中,所述采集模块还配置为:

[33]

选择识别二维码的工作模式;

[34]

根据所述选择的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

[35]

上述方案中,所述采集模块还配置为:

[36]

所述选择的工作模式为单二维码识别模式时,采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

[37]

所述选择的工作模式为多二维码识别模式时,采用平均测光方式读取 所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

[38]

上述方案中,所述采集模块还配置为:检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理。

[39]

上述方案中,所述采集模块还配置为:

[40]

若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

[41]

若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

[42]

上述方案中,所述采集模块还配置为:

[43]

根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

[44]

上述方案中,所述装置还包括:

[45]

预处理模块,配置为在所述识别模块确定所述待识别图像中的二维码位置之后,对所述二维码位置内的二维码进行预处理;

[46]

解码模块,配置为将经过所述预处理模块预处理后的二维码进行译码得到相应信息;

[47]

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

[48]

上述方案中,所述二维码为基于LED阵列显示的二维码。

[49]

本发明实施例还提供一种二维码的识别装置,包括摄像头、处理器和存储器;

[50]

所述摄像头,用于采集包含发光显示的二维码的待识别图像;

[51]

所述存储器中存储有可执行指令,用于引起所述处理器执行以下的操作:提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[52]

本发明实施例还提供一种存储介质,存储有可执行指令,用于执行本发明实施例提供的二维码的识别方法。

[53]

本发明实施例所提供的二维码的识别方法及装置、存储介质,采集包含发光显示的二维码的待识别图像;提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[54]

由于的位置探测图形是用于标定二维码的,借由识别待识别图像中位置探测图形的方式定位二维码的位置,可以忽略采集二维码的图像时采集参数不当导致确定二维码成像失败的问题,基于定位的二维码的位置,进而能识别基于LED阵列显示的二维码。

附图说明

[55]

图1为本发明由LED阵列主动发光显示的二维码图像;

[56]

图2为本发明实施例二维码的识别方法的实现流程示意图;

[57]

图3为本发明实施例具体实现二维码的识别方法的系统流程示意图;

[58]

图4为本发明实施例二维码的识别装置的组成结构示意图。

具体实施方式

[59]

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

[60]

图1给出了由LED阵列主动发光显示的二维码图像,如图1所示,由于单个LED灯珠发光的光圈会影响到邻近的LED,且一般的LED阵列因 密集程度不够,会形成颗粒感的显示效果,以及因控制LED亮暗的刷新率与拍摄的曝光时间不协调,会产生不规则条纹。这些不利因素都会使利用普通二维码识别方法来识别主动发光情景下的二维码的难度加大,从而导致二维码的读取时间变长,或者无法正确读取该二维码。

[61]

同时,为了兼顾照明功能,LED阵列在实际应用中的亮度一般较高,因此,用普通摄像头进行曝光,很容易出现过曝现象。此外,普通的二维码识别软件如微信扫一扫,只是单纯的借用手机系统应用中的相机,并不能对摄像头的光圈、焦距等参数进行调整,所以不会像普通照相情景一样根据实际光强自动调节曝光模式等。这样,将会使得二维码区域一片亮光,很有可能无法识别读取该二维码。因此,如何快速、准确地识别由LED阵列主动发光显示的二维码,是亟待解决的问题。

[62]

如图2所示,本发明实施例中二维码的识别方法的实现流程,包括以下步骤:

[63]

步骤201:采集包含发光显示的二维码的待识别图像;

[64]

其中,所述二维码为基于LED阵列显示的二维码。

[65]

本步骤201具体包括:

[66]

选择识别二维码的工作模式;

[67]

根据所述选择的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

[68]

其中,所述扫描参数包括:光圈、焦距和曝光方式。

[69]

这里,所述选择的识别二维码的工作模式包括:单二维码识别模式和多二维码识别模式;用户可根据实际应用需求,在二维码扫码应用软件中预先选择是识别单二维码,还是识别多二维码,以方便第二终端根据不同的工作模式调整后续相应处理,即:选择识别单二维码,后续就进行识别 单二维码的处理;选择识别多二维码,后续就进行识别多二维码的处理。

[70]

这里,显示二维码的终端为第一终端,识别二维码的终端为第二终端,所述第二终端既可以是无线终端,也可以是有线终端,其中,无线终端可以是指向用户提供语音和/或数据连通性的设备、具有无线连接功能的手持式设备、或连接到无线调制解调器的其它处理设备。

[71]

本发明实施例中,通过现场可编程门阵列(FPGA,Field-Programmable Gate Array)程序对每一个LED灯珠进行单独调制,可以得到用不同灰度值表征的二维码中的黑白模块。这里,具体如何对每一个LED灯珠进行单独调制属于现有技术,在此不再赘述。

[72]

这里,所述采用所述选择的工作模式对应的测光方式采集所述待识别图像,具体包括:

[73]

若选择的识别二维码的工作模式为单二维码识别模式,则采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;这样,可以避免因LED阵列亮度太高而导致光晕模糊,无法分辨二维码的黑白模块,使得整个图像呈现为在黑底上有一块黑白的二维码区域,非常方便二维码的识别和读取。在这种情况下,图像中几乎没有多余信息,无需进行繁杂的滤波计算,只需经过基本的预处理即可准确解码。因此,该二维码的读取方法具有较快的速度及准确性。

[74]

其中,所述基本的预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

[75]

若选择的识别二维码的工作模式为多二维码识别模式,由于多个二维码的情况下不会出现亮度的单极效应,且多个LED阵列光照下的亮度分布趋向平均化,不会出现过曝现象,故采用平均测光方式读取所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

[76]

这里,可根据二维码区域的亮度分布不同,来区分主动发光情景下的多个不同的二维码。

[77]

其中,所述对所述二维码进行特殊预处理,包括:检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理;

[78]

例如,若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

[79]

若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

[80]

这里,所述满足的一定条件为符合黑白跳变规律,一旦在识别二维码时第一终端不能满足上述条件,第二终端便无法识别所述待识别图像中的位置探测图形,或者错误地识别出类似于位置探测图形的伪位置探测图形,进而导致二维码的定位和识别失败。其中,所述伪位置探测图形可能是由于拍摄条件、LED光强度等因素的限制产生的,因此,对提取到的位置探测图形进行过滤,即:过滤掉不符合黑白跳变规律的位置探测图形的排列组合,对所述待识别图像中的二维码的位置进行精确定位具有重要作用。

[81]

例如,所述检测每种排列组合是否满足一定条件,包括:根据所述二维码的黑白跳变规律,以相应位置探测图形为中心,分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

[82]

这里,在图像处理中,亮度通常可以由灰度来表示,故可以利用灰度图像对整个待识别图像根据亮度做大致的区域划分,可以得到平均亮度等级依次下降的几块区域,即每块区域对应一个二维码。其中,对待识别图像进行灰度化的过程中,可采用加权平均法,将其转变为灰度图像。另外,在灰度化的过程中,还将提取每个灰度图像像素点的RGB值来表征亮度信 息。

[83]

需要说明的是,在二维码中,以快速响应(QR,Quick Response)码为例,在QR码的四个角落中的任意三个角落中,印有较小的像“回”字的正方图案,即位置探测图形,在图1中可以看出。这三个位置探测图形是供解码软件定位用的图案,满足一定的三角形的几何位置关系,例如,每一个QR码的三个位置探测图形分别位于QR码的三个顶点上,构成等腰直角三角形。第二终端通过取景框获取待识别图像后,根据二维码特有的黑白跳变规律搜索待识别图像内的位置探测图形,与现有的二维码识别方法一样,即可由三个位置探测图形(如QR码的回字形)来确定二维码的边缘及轮廓。这里,具体是如何确定二维码的边缘及轮廓属于现有技术,在此不再赘述。

[84]

这里,当用户需要通过第二终端识别二维码时,优选地,可使用带有摄像头功能的终端采集包含二维码的待识别图像;所采用的二维码扫码应用软件可依据选定的识别二维码的工作模式,访问并调用第二终端如手机摄像头的底层,对如光圈、焦距等参数进行调整,并更改摄像头的曝光方式。

[85]

在实际应用中,具体可根据基于LED阵列显示的二维码与第二终端中摄像头的空间位置关系、以及该二维码与第二终端中摄像头之间的距离等因素,来调整摄像头的底层参数,并更改摄像头的曝光方式。这里,具体如何调整底层参数和更改曝光方式属于现有技术,在此不再赘述。

[86]

步骤202:提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[87]

在步骤202中,在所述确定所述待识别图像中的二维码位置之后,所述方法还可以包括:对所述二维码位置内的二维码进行预处理,将经过预 处理后的二维码进行译码得到相应信息。

[88]

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

[89]

这里,考虑到LED显示屏光晕会形成边缘锯齿、以及由点阵屏所引起的颗粒感,可以采用直方图拟合计算阈值,并使用大窗口中值滤波来降低其影响。此外,还可以根据哈弗空间变换对二维码进行校正。这里,上述过程具体是如何实现的属于现有技术,在此不再赘述。

[90]

图3示出了本发明二维码的识别方法的具体实施例的实现流程示意,如图3所示,所述实施例包括下述步骤:

[91]

步骤301:用户选择识别二维码的工作模式;

[92]

这里,所述二维码为基于LED阵列显示的二维码,其中,LED阵列发光显示属于主动发光显示的一种,区别于现有大部分的被动发光显示,即在一般不发光物体表面上粘贴二维码。

[93]

步骤302:判别所述选择的工作模式的类型,若所述选择的工作模式为单二维码识别模式,则执行步骤303,否则执行步骤304;

[94]

这里,用户选择的识别二维码的工作模式分为两种类型:单二维码识别模式和多二维码识别模式;用户可根据实际应用需求,在二维码扫码应用软件中预先选择是识别单二维码,还是识别多二维码,然后根据不同的识别模式,调整后续需要执行的步骤。

[95]

步骤303:采用中央重点测光方式读取待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

[96]

这里,采用该步骤303的方法,可以快速识别一个由LED阵列显示的二维码,不需要额外的处理过程就使得整个图像呈现为在黑底上有一块黑白的二维码区域,非常方便二维码的识别和读取。

[97]

步骤304:采用平均测光方式读取待识别图像中的二维码,并对所述二 维码进行如步骤305的预处理;

[98]

步骤305:检测包含二维码的待识别图像的亮度分布;

[99]

这里,可根据二维码区域的亮度分布不同,来区分主动发光情景下的多个不同的二维码。

[100]

步骤306:若不同二维码区域的亮度分布差异较大,则执行步骤307;

[101]

这里,需要一个前提条件,即所述不同二维码区域的位置探测图形均符合二维码的几何位置关系。

[102]

步骤307:根据亮度等级依次确定多个二维码区域,结束本次处理流程;

[103]

步骤308:若不同二维码区域的亮度分布差异较小,则执行步骤309;

[104]

步骤309:将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

[105]

这里,所述检测每种排列组合是否满足一定条件,包括:

[106]

根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

[107]

其中,所述满足的一定条件为符合二维码的黑白跳变规律。

[108]

本发明实施例提出的是一种针对主动发光情景下的二维码识别方法,正如在由LED阵列显示二维码的应用实例中,能避免因LED光照效果导致的图像颗粒感、拍摄时因不合适的曝光时间引起的条纹现象等对解码造成的干扰,拓宽了二维码识别技术的应用场景,提高了二维码在复杂场景下的读取率;可选地,本发明实施例根据待识别图像中不同的亮度分布,还能以不同的工作模式读取单个二维码或多个二维码,根据用户需求调整图像获取方式,能加快单个二维码的读取速度,且对多二维码的识别有更高的读取效率。

[109]

为实现上述方法,本发明实施例还提供了一种二维码的识别装置,如图4所示,该装置包括采集模块41、识别模块42;其中,

[110]

所述采集模块41,配置为采集包含发光显示的二维码的待识别图像;

[111]

所述识别模块42,配置为提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

[112]

其中,所述二维码为基于LED阵列显示的二维码。

[113]

这里,所述装置还包括:预处理模块43,配置为在所述识别模块42确定所述待识别图像中的二维码位置之后,对所述二维码位置内的二维码进行预处理;

[114]

解码模块44,配置为将经过所述预处理模块43预处理后的二维码进行译码得到相应信息。

[115]

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

[116]

这里,所述采集模块41还配置为:

[117]

选择识别二维码的工作模式;

[118]

根据所述选择的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

[119]

其中,所述采集模块41还配置为:

[120]

所述选择的工作模式为单二维码识别模式时,采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

[121]

所述选择的工作模式为多二维码识别模式时,采用平均测光方式读取所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

[122]

这里,所述采集模块41还配置为:检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理。

[123]

例如,若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

[124]

若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

[125]

其中,所述采集模块41还配置为:

[126]

根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

[127]

在实际应用中,所述采集模块41、识别模块42、预处理模块43、解码模块44均可由位于显示二维码的终端上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。

[128]

本发明实施例采集包含发光显示的二维码的待识别图像;提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。如此,根据不同二维码区域的平均亮度的差异,对采用不同测光方式采集的待识别图像中的二维码进行相应处理,能识别基于LED阵列显示的二维码;可选地,本发明实施例还能针对用户选择的识别二维码的工作模式调整后续相应处理,利用不同的处理方式快速、准确地识别单个或多个由LED阵列显示的二维码,具有较高的识别效率,从而提升用户的使用感知,对二维码识别技术 的发展具有重要意义。

[129]

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

工业实用性

[130]

本发明实施例公开了一种二维码的识别方法,包括:采集包含发光显示的二维码的待识别图像;提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。本发明实施例还同时公开了一种二维码的识别装置和存储介质。实施本发明,能够快速、准确地识别由LED阵列主动发光显示的二维码。



[1]

Disclosed in the present invention are a method of identifying a two-dimensional code, comprising: acquiring an image to be identified that contains a two-dimensional code on a light-emitting display; and extracting a position detection pattern from the image to be identified, determining, according to the position detection pattern, the location of the two-dimensional code in the image to be identified, and identifying the two-dimensional code at the location. Also disclosed in the present invention are a device and a storage medium for identifying a two-dimensional code.

[2]



一种二维码的识别方法,所述方法包括:

采集包含发光显示的二维码的待识别图像;

提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

根据权利要求1所述的方法,其中,所述采集包含发光显示的二维码的待识别图像包括:

选择识别二维码的工作模式;

根据所述选择的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

根据权利要求2所述的方法,其中,所述采用所述选择的工作模式对应的测光方式采集所述待识别图像,包括:

所述选择的工作模式为单二维码识别模式时,采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

所述选择的工作模式为多二维码识别模式时,采用平均测光方式读取所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

根据权利要求3所述的方法,其中,所述对所述二维码进行特殊预处理,包括:检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理。

根据权利要求4所述的方法,其中,所述检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理,包括:

若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

根据权利要求5所述的方法,其中,所述检测每种排列组合是否满足一定条件,包括:

根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

根据权利要求1所述的方法,其中,在所述确定所述待识别图像中的二维码位置之后,所述方法还包括:

对所述二维码位置内的二维码进行预处理,将经过预处理后的二维码进行译码得到相应信息;

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

根据权利要求1至7任一项所述的方法,其中,所述二维码为基于发光二极管LED阵列显示的二维码。

一种二维码的识别装置,所述装置包括:采集模块和识别模块;其中,

所述采集模块,配置为采集包含发光显示的二维码的待识别图像;

所述识别模块,配置为提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

根据权利要求9所述的装置,其中,

所述采集模块,还配置为选择识别二维码的工作模式;根据所述选择 的工作模式访问并调用识别二维码的终端摄像头的底层,调整扫描参数,并采用所述选择的工作模式对应的测光方式采集所述待识别图像。

根据权利要求10所述的装置,其中,

所述采集模块,还配置为所述选择的工作模式为单二维码识别模式时,采用中央重点测光方式读取所述待识别图像中的二维码,将黑白的二维码区域凸显,并将二维码以外的背景区域虚化;

所述采集模块,还配置为所述选择的工作模式为多二维码识别模式时,采用平均测光方式读取所述待识别图像中的二维码,并对所述二维码进行特殊预处理。

根据权利要求11所述的装置,其中,所述采集模块,还配置为检测所述包含二维码的待识别图像的亮度分布,根据不同的亮度分布进行相应处理。

根据权利要求12所述的装置,其中,

所述采集模块,还配置为若所述位置探测图形符合二维码的几何位置关系,且不同二维码区域的亮度分布有明显差异,则根据亮度等级依次确定多个二维码区域;

所述采集模块,还配置为若不同二维码区域的亮度分布无明显差异,则将提取的所有位置探测图形归为一个集合,任取集合内的三个位置探测图形进行排列组合,检测每种排列组合是否满足一定条件,并根据满足条件的排列组合确定二维码区域。

根据权利要求13所述的装置,其中,

所述采集模块,还配置为根据所述二维码的黑白跳变规律,以相应位置探测图形为中心分别进行水平方向和垂直方向的探测,过滤掉不符合黑白跳变规律的位置探测图形的排列组合。

根据权利要求9所述的装置,其中,所述装置还包括:

预处理模块,配置为在所述识别模块确定所述待识别图像中的二维码位置之后,对所述二维码位置内的二维码进行预处理;

解码模块,配置为将经过所述预处理模块预处理后的二维码进行译码得到相应信息;

其中,所述预处理包括:滤除干扰二维码解码的噪声、以及对所述二维码位置内的二维码进行校正。

根据权利要求9至15任一项所述的装置,其中,所述二维码为基于LED阵列显示的二维码。

一种二维码的识别装置,包括摄像头、处理器和存储器;

所述摄像头,用于采集包含发光显示的二维码的待识别图像;

所述存储器中存储有可执行指令,用于引起所述处理器执行以下的操作:提取所述待识别图像中的位置探测图形,根据所述位置探测图形确定所述待识别图像中的二维码位置,并识别所述二维码位置内的二维码。

一种存储介质,存储有可执行指令,用于执行权利要求1至8任一项所述的二维码的识别方法。