一种二维码探测图形的检测方法和装置、终端与流程

文档序号:14014243阅读:389来源:国知局
一种二维码探测图形的检测方法和装置、终端与流程

本发明涉及图像定位技术领域,具体涉及一种二维码探测图形的检测方法和装置、终端。



背景技术:

随着智能终端的流行,二维码(Two-dimensional code)也渐渐地流行开来,二维码,又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙;其在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息。

为了便于定位二维码编码区域以及编码顺序,在二维码中,一般设置有三个定位图形即探测图形或者位置探测图形(Finder Pattern),分别位于二维码的三个顶角上,如图1a所示,为一个二维码的示意图,其中a、b和c分别为该二维码的三个探测图形。

在现有技术中,一般由被验证终端生成二维码,验证终端扫描该生成的二维码,然后由验证终端根据二维码中的定位图形,定位二维码编码顺序,以解读二维码信息。

在对现有技术的研究和实践过程中,本发明的发明人发现,许多用户在制作二维码时为了美化二维码(如制作艺术二维码等)或者是不了解定位图形的重要性,制作出的二维码对定位图形进行了较大的改动,使得二维码的定位图形识别难度增大,导致二维码识别率比较低。



技术实现要素:

本发明实施例提供一种二维码探测图形的检测方法和装置,可以提高二维码的识别率。

本发明实施例提供一种二维码探测图形的检测方法,包括:

接收图形检测请求;

根据所述图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,所述预设比例条件包括在所述预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内;

根据所述预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点;

从探测图形的候选中心点中确定探测图形的中心点。

本发明实施例还提供一种二维码探测图形的检测装置,包括:

接收单元,用于接收图形检测请求;

条件确定单元,用于根据所述图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,所述预设比例条件包括在所述预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内;

检测单元,用于根据所述预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点;

中心点确定单元,用于从探测图形的候选中心点中确定探测图形的中心点。

本发明实施例还提供了一种终端,包括如上所述的二维码探测图形的检测装置。

本发明实施例在接收到图形检测请求时,根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内,然后,根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,从探测图形的候选中心点中确定探测图形的中心点;该方案放宽了预设比例条件,具体地放宽了探测图形中靠近二维码边界的边界黑色区域的宽度比例值,这样在探测图形边界黑色区域的宽度变动或者边界黑色区域缺失的情况下也能识别出探测图形,因此,相对于现有技术,可以提高二维码的识别率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是现有技术中一种二维码的示意图;

图1b为本发明实施例提供的二维码探测图形的检测方法的流程图;

图1c是本发明实施例提供的探测图形的示意图;

图1d是本发明实施例提供的一种二维码的示意图;

图1e是本发明实施例提供的另一种二维码的示意图;

图1f是本发明实施例提供的探测图形候选中心点的定位示意图;

图1g是本发明实施例提供的候选中心点的填充示意图;

图2a是本发明实施例提供的二维码探测图形的检测方法的另一流程图;

图2b是本发明实施例提供的探测图形中心点的选取示意图;

图3a是本发明实施例提供的二维码探测图形的检测装置的结构示意图;

图3b是本发明实施例提供的二维码探测图形的检测装置的另一结构示意图;

图4是本发明实施例提供的终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种二维码探测图形的检测方法和装置、终端。以下分别进行详细说明。

实施例一、

本实施例将从二维码探测图形的检测装置的角度进行描述,该二维码探测图形的检测装置具体可以集成在终端等设备中,该终端具体可以为手机或平板电脑等设备。

一种二维码探测图形的检测方法,包括:接收到图形检测请求,然后,根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,其中,该预设比例条件包括探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内,根据该预设比例条件对待识别的二维码进行检测,得到多个图形区域的中心点,该图形区域为该二维码中在该预设方向上的黑色区域和白色区域的宽度比例满足该预设比例条件的图形区域,根据该多个图形区域的中心点确定该二维码的探测图形。

如图1b所示,一种二维码探测图形的检测方法,具体流程可以如下:

101、接收图形检测请求。

其中,图形检测请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该图形检测请求,此时,该二维码探测图形的检测装置便可以对该图形检测请求进行接收,比如,通过预设的指令接收接口对该图形检测请求进行接收,等等。

实际情况中,由于一般是在需要识别二维码时才检测探测图形,因此,该图形检测请求可以为二维码识别请求等等。

102、根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,其中,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内。

其中,预设方向可以包括水平方向和/或垂直方向,也即根据图形检测请求确定探测图形在水平方向和/或垂直方向上黑色区域和白色区域的宽度比例所需要满足的预设比例条件。由于探测图形一般为对称图形,因此,在预设方向包括水平方向和垂直方向时,可以共用一个预设比例条件,也可以是在水平方向上黑色区域和白色区域的宽度比例所需要满足的预设比例条件,与垂直方向上黑色区域和白色区域的宽度比例所需要满足的预设比例条件相同。当然,在其他实施例中,水平方向上的预设比例条件与垂直方向上的预设比例条件可以不相同。

本实施例中在预设方向上黑色区域和白色区域的宽度比例指的是:在预设方向经过探测图形中心点的直线上,连续的白区域和黑色区域之间的宽度比例。比如,该宽度比例可以包括经过探测图形中心点的水平直线上和/或垂直直线上,连续的白区域和黑色区域之间的宽度比例。

本实施例中,预设比例条件可以包括在预设方向上黑色区域和白色区域的宽度比例所需满足的宽度比例;其中,在预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内。该边界黑色区域可以为在预设方向经过探测图形中心点的直线上最靠近二维码边界的黑色区域。

在通常情况下,一个二维码具有三个探测图形,且各个探测图形均由三个同心正方形构成,如图1c所示,为一个标准的探测图形。根据探测图形的特性可知,在经过探测图形的中心点的每条直线上,五个连续的白色区域的宽度和黑色区域的宽度,均可以满足黑色区域的宽度:白色区域的宽度:黑色区域的宽度:白色区域的宽度:黑色区域的宽度为1:1:3:1:1。示例性的,如图1c所示的四条直线,该四条直线都经过该探测图形的中心点,且在该四条直线的每条直线上,该探测图形的五个连续的白色区域的宽度和黑色区域的宽度,均可以满足1:1:3:1:1。其中,靠近二维码边界的边界黑色区域的宽度比例值为1,比如,当图1c所示的探测图形位于二维码左上角时,在经过该探测图形中心点的水平直线上,第一个黑色区域(或者最左边的黑色区域)即为靠近二维码边界的边界黑色区域,或者第五个黑色区域(或者最右边的黑色区域)即为靠近二维码边界的边界黑色区域,该边界黑色区域的宽度比例值为1。

考虑到用户在制作二维码时,探测图形的边界黑色区域有时候会发生变动;比如,边界黑色区域的宽度变大或者变小,如图1d所示的二维码中探测图形最外一条边缺失(即边界黑色区域缺失),此时,如果按照1:1:3:1:1的比例去检测探测图形,将会检测不到探测图形,导致二维码识别失败;为了克服该问题,本实施例可以放宽边界黑色区域的宽度比例值,具体地,将该边界黑色区域的宽度比例值放宽到目标比例值范围。该目标比例值范围可以根据实际需求设定,比如,可以为05-1.5、0-2、1-3、0.1-1.8等等。可选地,能够进一步地提高二维识别率,本实施例还可以进一步将边界黑色区域的宽度比例值放宽为任意值,也即目标比例值范围可以为负无穷至正无穷,或者零至正无穷(由于宽度一般是为零或者正数)。

比如可以将检测探测图形的宽度比例从1:1:3:1:1放宽到n:1:3:1:1和1:1:3:1:n,其n为任意值(如n可以等于0、0.5、0.8、1、2.6等),不受限制;这样采用放宽后的比例就可以检测到如图1d所示的探测图形。此时,预设比例条件可以包括:在预设方向上黑色区域和白色区域的宽度比例需要满足n:1:3:1:1或者1:1:3:1:n,比如,该预设比例条件可以包括:在水平和/或垂直方向上黑色区域和白色区域的宽度比例需要满足n:1:3:1:1或者1:1:3:1:n。

本实施例中,进一步考虑到用户在制作二维码时会对二维码进行改造(如美化二维码),导致探测图形丢失了正常的比例关系,如参考图1e,该美化后的二维码中探测图形在水平方向和/或垂直方向上黑色区域和白色区域的宽度比例为1:1.5:2:1.5:1,此时,若按照n:1:3:1:1和1:1:3:1:n可能无法检测到该探测图形,因此,为了提高探测图形的识别率,进而提高二维码的识别率,本实施例还将进一步放宽比例条件,可以增加对比例的容忍度,也即该预设比例条件还可以包括:在该预设方向上探测图形中黑色区域和白色区域的宽度比例值均在各自对应的预设比例范围内,该黑色区域为探测图形中除该边界黑色区域之外的黑色区域。该黑色区域可以为在该预设方向经过探测图形中心点的直线上除边界黑色区域的黑色区域。此时,按照放宽后的预设比例条件即可检测到图1e所示二维码中探测图形。

以预设方向包括水平方向为例,可以放宽白色区域的宽度比例值所需满足的预设比例值,如将白色区域的宽度比例值所需满足的比例值设置为一个比例值范围,也可以放宽非边界黑色区域的宽度比例值所需满足的预设比例值,如将非黑区域的宽度比例值所需满足比例值设置为一个比例值范围;此时预设比例条件可以包括:在水平方向上探测图形中白色区域和非边界黑色区域的宽度比例值在各自相应的比例值范围内,比如,在水平方向上黑色区域和白色区域的宽度比例所需满足n:m:k:m:1或者1:m:k:m:n,其中,n为任意值,m表示第一比例值范围,k表示第二比例值范围。

本实施例中黑色区域或者白色区域的宽度比例值需要满足的预设比例范围,可以基于容忍度进行设定,比如,容忍度可以为容忍1个单位宽度的变化范围,如可以容忍1个单位宽度的变化为0.5-1.5单位宽度;此时,在预设方向(如水平方向和/或垂直方向)上黑色区域和白色区域的宽度比例所需满足的预设宽度比例即为n:(0.5-1.5):(1.5-4.5):(0.5-1.5):1,或者1:(0.5-1.5):(1.5-4.5):(0.5-1.5):n。

103、根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点。

其中,二维码可以为QR二维码,QR二维码是二维条码的一种,QR来自英文“Quick Response”的缩写,即快速反应的意思,源自发明者希望QR二维码可让其内容快速被解码。QR二维码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。QR二维码呈正方形,只有黑白两色。在4个角落的其中3个,印有较小,像“回”字的正方图案(即位置探测图形)。这3个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。

在预设方向包括水平方向和垂直方向时,本实施例中,步骤“根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点”可以包括:

根据该预设比例条件沿着水平方向对该二维码进行检测,得到目标水平区域的中心点,该目标水平区域为在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的区域;

根据该目标水平区域的中心点沿着垂直方向对该二维码进行检测,得到目标垂直区域的中心点,该目标垂直区域为在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的区域;

将该目标垂直区域的中心点作为探测图形的候选中心点。

本实施例中水平区域和垂直区域由二维码中黑白像素点构成。

其中,步骤“根据该目标水平区域的中心点沿着垂直方向对该二维码进行检测”可以包括:

作经过该目标水平区域的中心点的垂直检测线;

沿着该垂直检测线对该二维码进行检测。

为提高探测图形的检测速度和检测准确率,在实际应用中,可以对二维码进行逐行扫描来查找探测图形的候选中心点,也即步骤“根据该预设比例条件沿着水平方向对该二维码进行检测,得到目标水平区域的中心点”可以包括:

根据该预设比例条件沿着水平方向对该二维码进行逐行扫描;

若扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,则确定该目标水平区域的中心点;

此时,步骤“根据该目标水平区域的中心点沿着垂直方向对该二维码进行检测,得到目标垂直区域的中心点”可以包括:

根据该目标水平区域的中心点沿着垂直方向对该二维码进行扫描,若扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域,则获取该目标垂直区域的中心点。

比如,参考图1f,根据预设比例条件沿着水平方向对二维码进行逐行扫描,在进行探测图形的第三行扫描时,可以扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,此时可以确定该目标水平区域的中心点为P,然后,再作经过中心P的垂直扫描线,并沿着该垂直从上自下扫描,此时可以扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域,然后,获取该目标垂直区域的中心点,即图1f中的O点,该O点可以作为探测图形的候选中心点。

本实施例方法在未扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,或者未扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域时,可以对二维码进行下一行扫描。

104、从探测图形的候选中心点中确定探测图形的中心点。

由于本实施例放宽了预设比例条件,因此,可能会检测到一些错误的探测图形,因此,本实施例方法在对二维码检测得到候选中心点之后,可以从候选中心点中确定探测图形的中心点,该探测图形的中心点为真正探测图形的中心点。

本实施例在采用逐行扫描情况下,一个探测图形的候选中心点可能被定位多次,比如,图1f中的O点会被定位到多次,因此,本实施例中可以基于候选中心点被定位到的次数来选取探测图形的中心点;也即步骤“从探测图形的候选中心点中确定探测图形的中心点”可以包括:

获取该候选中心点在扫描过程中被定位到的次数;

根据该次数从探测图形的候选中心点中选取探测图形的中心点。

其中,候选中心点被定位到的次数可以为扫描过程中某个中心点被作为同一探测图形的中心点的次数。

在实际应用中,候选中心点被定位到的次数越多,它就越有可能是真正探测图形的中心,因此,可以基于被定位到的次数对候选中心点进行排序,然后,根据排序结果来选取真正探测图形的中心点,也即步骤“根据该次数从探测图形的候选中心点中选取探测图形的中心点”可以包括:

根据该次数对候选中心点进行排序,得到排序结果;

根据该排序结果从候选中心点中选取探测图形的中心点。

比如,可以按照次数从大到小的顺序进行排序,然后,选取排名前三的三个候选中心点,作为二维码三个真正探测图形的中心点。

参考图1g,为了方便对候选中心点进行排序,可以根据候选中心点被定位到的次数对该中心点进行填充,候选中心点被定位到的次数越多,候选中心点面积越大,如图1g中左上角左下角、右上角的候选中心点被定位到的次数最多,因此填充面积越大。

在正常情况,根据次数选取的候选中心即为真正探测图形的中心点,然后,在一些异常情况下,这样的方式并不可靠,选取的候选中心并不是真正探测图形的中心点,针对此情况,本实施例引入重试机制,具体地,在根据定位次数选取中心点之后,根据选取的中心点尝试对二维码进行解码,若解码失败,则从候选中心点中选取满足预设条件的中心点,也即本实施例方法在步骤“根据该次数从探测图形的候选中心点中选取探测图形的中心点”之后,还可以包括:

根据选取的中心点对该二维码进行解码;

若解码失败,则从该探测图形的候选中心点中选取满足预设条件的目标中心点,以作为探测图形的中心点。

其中,预设条件可以有多种,可以根据实际需求设定,比如该预设条件可以包括选取的三个候选中心点构成的三角形满足预设角度条件,即步骤“从该探测图形的候选中心点中选取满足预设条件的目标中心点”可以包括:

从该候选中心点中选取三个候选中心点;

判断该三个候选中心点构成的三角形是否满足预设角度条件;

若是,则确定该三个候选中心点为满足预设条件的目标中心点。

其中,三个候选中心点构成的三角形可以为三个候选中心点之间连线构成的三角形。

该预设角度条件可以有多种,可以根据实际情况设定,比如,预设角度条件可以包括三个候选中心点构成的三角形的至少两个夹角角度为对应的预设角度值,比如,由于一般二维码三个探测图形的中心点构成的三角形为等腰直角三角形,此时,预设角度条件可以包括:三个候选中心点构成的三角形的三个夹角角度分别为90°、45°、45°,即构成的三角形为等腰直角三角形。又比如,在实际情况中,考虑到图像的形变和扭曲,因此,可以放宽三角形的角度条件,即预设角度条件可以包括:三个候选中心点构成的三角形的至少两个夹角角度分别在相应的预设角度范围内;该预设角度范围可以基于等腰直角三角形的夹角角度设定,比如,预设角度条件可以包括:三个候选中心点构成的三角形三个夹角角度分别在第一角度范围(如80°~100°,包含端点)、第二角度范围(如40°~50°,包含端点)、第三角度范围(如40°~50°,包含端点)内。

由于三角形的夹角角度与该夹角的余弦值对应,如80°~100°对应的余弦值范围为(-0.1736,0.1736),40°~50°对应的余弦值范围为[0.6428,0.7660];因此,本实施例可以通过三角形夹角的余弦值来确定候选点构成的三角形是否满足预设角度条件,也即步骤“判断该三个候选中心点构成的三角形是否满足预设角度条件”可以包括:

获取该三个候选中心点构成的三角形;

获取该三角形中至少两个夹角的余弦值;

判断该至少两个夹角的余弦值是否满足预设余弦值条件;

若是,则判定该三个候选中心点构成的三角形满足预设角度条件;

若否,则判定该三个候选中心点构成的三角形不满足预设角度条件。

该预设余弦值条件可以包括:三角形的两个夹角的余弦值分别在第一预设余弦值范围、第二预设余弦值范围内(实际应用中,第一预设余弦值范围、第二预设余弦值范围可以为相同范围),或者,三角形的三个夹角的余弦值分别在第一预设余弦值范围、第二预设余弦值范围、第三预设余弦值范围内。可选地,三个预设余弦值范围有两个范围相同。

比如,三角形的夹角1的余弦值在(-0.1736,0.1736)内,夹角2的余弦值在[0.6428,0.7660]内,此时,可以判定该三角形满足预设角度条件,又比如,三角形的夹角1和夹角2的余弦值均在[0.6428,0.7660]内,可以判定该三角形满足预设角度条件。

本实施例中三角形夹角的余弦值可以基于三角形的边长(该边长即为三个候选中心点之间的连线长度)得到,比如,基于余弦计算公式和边长得到。

可选地,本实施例在判断三个候选中心点构成的三角形不满足预设角度条件时,返回执行从该候选中心点中选取三个候选中心点的步骤,即重新选取三个候选中心点,直到找到符合预设条件的目标中心点为止。

由上可知,本发明实施例在接收到图形检测请求时,根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内,然后,根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,从探测图形的候选中心点中确定探测图形的中心点;该方案放宽了预设比例条件,具体地放宽了探测图形中靠近二维码边界的边界黑色区域的宽度比例值,这样在探测图形边界黑色区域的宽度变动或者边界黑色区域缺失的情况下也能识别出探测图形,因此,相对于现有技术,可以提高二维码的识别率。

此外,本发明实施例还可以在对二维码解码失败时,将候选中心点进行三三组合,并结合余弦定理确定真正探测图形的中心,提高了探测图形检测的准确性,进一步提升了二维码的识别率。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以该二维码探测图形的检测装置集成在终端为例进行说明。

如图2a所示,一种二维码探测图形的检测方法,具体流程可以如下:

201、终端接收图形检测请求。

其中,图形检测请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该图形检测请求。

202、终端根据该图形检测请求确定探测图形在水平方向和垂直方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件。

其中,预设比例条件可以包括:在水平方向和垂直方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值为任意值,在水平方向和垂直方向上探测图形中黑色区域和白色区域的宽度比例值均在各自对应的预设比例范围内。

比如,预设比例条件可以包括:探测图形在水平方向和垂直方向上黑色区域和白色区域的宽度比例为n:1:3:1:1或者1:1:3:1:n,其中n为任意值;又比如,预设比例条件可以包括:探测图形在水平方向和垂直方向上黑色区域和白色区域的宽度比例满足n:(0.5-1.5):(1.5-4.5):(0.5-1.5):1,或者1:(0.5-1.5):(1.5-4.5):(0.5-1.5):n。

203、终端根据该预设比例条件对待识别的二维码进行逐行扫描,得到探测图形的候选中心点。

具体地,终端根据该预设比例条件沿着水平方向该二维码进行逐行扫描;若扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,则确定该目标水平区域的中心点;然后,作经过目标水平区域中心点的垂直扫描线,并沿着该垂直扫描线进行垂直扫描,若扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域,获取该目标垂直区域的中心点,将该目标垂直区域的中心点作为探测图形的候选中心点;如果未扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,或者未扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域时,可以对二维码进行下一行扫描重复前述步骤。

204、终端获取候选中心点在扫描过程中被定位到的次数,并根据该次数从探测图形的候选中心点中选取探测图形的中心点。

本实施例在采用逐行扫描情况下,一个探测图形的候选中心点可能被定位多次,因此,本实施例中可以基于候选中心点被定位到的次数来选取探测图形的中心点。

其中,候选中心点被定位到的次数可以为扫描过程中某个中心点被作为同一探测图形的中心点的次数。

在实际应用中,候选中心点被定位到的次数越多,它就越有可能是真正探测图形的中心,因此,可以基于被定位到的次数对候选中心点进行排序,然后,根据排序结果来选取真正探测图形的中心点,也即步骤“根据该次数从探测图形的候选中心点中选取探测图形的中心点”可以包括:

根据该次数对候选中心点进行排序,得到排序结果;

根据该排序结果从候选中心点中选取探测图形的中心点。

比如,可以按照次数从小到大的顺序进行排序,然后,选取排名后三位的三个候选中心点,作为二维码三个真正探测图形的中心点。

205、终端根据选取的中心点对该二维码进行解码,若解码失败,则转步骤206,否则结束流程。

比如,终端根据选取的中心点确定二维码的编码区域,然后,对编码区域内的图像进行解码。

206、终端从该候选中心点中选取三个候选中心点。

比如,终端可以根据候选中心点被定位到的次数来选取三个候选中心点等,或者也可以随机选取三个候选中心点等等。

207、终端判断该三个候选中心点构成的三角形是否满足预设角度条件,若是,转步骤208,若否,则返回执行步骤206重新从该候选中心点中选取三个候选中心点。

其中,三个候选中心点构成的三角形可以为三个候选中心点之间连线构成的三角形。

该预设角度条件可以有多种,可以根据实际情况设定,比如,预设角度条件可以包括三个候选中心点构成的三角形的至少两个夹角角度为对应的预设角度值,比如,由于一般二维码三个探测图形的中心点构成的三角形为等腰直角三角形,此时,预设角度条件可以包括:三个候选中心点构成的三角形的三个夹角角度分别为90°、45°、45°,即构成的三角形为等腰直角三角形。

又比如,在实际情况中,考虑到图像的形变和扭曲,因此,可以放宽三角形的角度条件,即预设角度条件可以包括:三个候选中心点构成的三角形的至少两个夹角角度分别在相应的预设角度范围内;该预设角度范围可以基于等腰直角三角形的夹角角度设定,比如,预设角度条件可以包括:三个候选中心点构成的三角形三个夹角角度分别在第一角度范围(如80°~100°,包含端点)、第二角度范围(如40°~50°,包含端点)、第三角度范围(如40°~50°,包含端点)内。

由于三角形的夹角角度与该夹角的余弦值对应,如80°~100°对应的余弦值范围为(-0.1736,0.1736),40°~50°对应的余弦值范围为[0.6428,0.7660];因此,本实施例可以通过三角形夹角的余弦值来确定候选点构成的三角形是否满足预设角度条件,也即步骤“终端判断该三个候选中心点构成的三角形是否满足预设角度条件”可以包括:

终端获取该三个候选中心点构成的三角形;

终端获取该三角形中至少两个夹角的余弦值;

判断该至少两个夹角的余弦值是否满足预设余弦值条件;

若是,则判定该三个候选中心点构成的三角形满足预设角度条件;

若否,则判定该三个候选中心点构成的三角形不满足预设角度条件。

该预设余弦值条件可以包括:三角形的两个夹角的余弦值分别在第一预设余弦值范围、第二预设余弦值范围内(实际应用中,第一预设余弦值范围、第二预设余弦值范围可以为相同范围),或者,三角形的三个夹角的余弦值分别在第一预设余弦值范围、第二预设余弦值范围、第三预设余弦值范围内。可选地,三个预设余弦值范围有两个范围相同。比如,三角形的夹角1的余弦值在(-0.1736,0.1736)内,夹角2的余弦值在[0.6428,0.7660]内,此时,可以判定该三角形满足预设角度条件,又比如,三角形的夹角1和夹角2的余弦值均在[0.6428,0.7660]内,可以判定该三角形满足预设角度条件。

例如,参考图2b,在扫描得到五个候选中心点时,可以从四个候选中心点中选取三个候选中心点,比如选取候选中心点1、2、3时,该选取的三个候选中心点1、2、3的连线构成三角形ABC,其中,a、b为三角形的短边,c为长边,通过如下余弦定理公式可以计算∠A、∠B、∠C的余弦值:

计算各夹角的余弦值之后,可以确定∠A和∠B的余弦值均在[0.6428,0.7660]内,∠C的余弦值在(-0.1736,0.1736)内,因此,可以确定该三角形ABC满足预设角度条件。

当选取候选中心点1、3、4时,该候选中心点1、3、4连线构成的三角形为ABD,通过余弦定理公式可以计算∠A、∠B、∠D的余弦值,显然∠D的余弦值不在(-0.1736,0.1736)内,∠A、∠B的余弦值不在[0.6428,0.7660]内,此时,可判定三角形为ABD不满足预设角度条件。

208、将该三个候选中心点作为探测图形的中心点。

由上可知,本发明实施例在终端接收到图形检测请求时,终端根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值为任意值,然后,根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,从探测图形的候选中心点中确定探测图形的中心点;该方案放宽了预设比例条件,具体地放宽了探测图形中靠近二维码边界的边界黑色区域的宽度比例值,这样在探测图形边界黑色区域的宽度变动或者边界黑色区域缺失的情况下也能识别出探测图形,因此,相对于现有技术,可以提高二维码的识别率。

此外,本发明实施例还可以在终端对二维码解码失败时,将候选中心点进行三三组合,并结合余弦定理确定真正探测图形的中心,提高了探测图形检测的准确性,进一步提升了二维码的识别率。

实施例三、

为了更好地实施上述方法,本发明实施例还提供一种图形界面的处理装置,如图3a所示,该图形界面的处理装置可以包括接收单元301、条件确定单元302、检测单元303和中心点确定单元304,如下:

(1)接收单元301;

接收单元301,用于接收图形检测请求。

其中,其中,图形检测请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该图形检测请求。

(2)条件确定单元302;

条件确定单元302,用于根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内;

为提高探测图形的识别率,该预设比例条件还包括:在该预设方向上探测图形中黑色区域和白色区域的宽度比例值均在各自对应的预设比例范围内,该黑色区域为探测图形中除该边界黑色区域之外的黑色区域。

其中,预设方向包括水平方向和/或垂直方向。

(3)检测单元303;

检测单元303,用于根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点。

比如,在该预设方向包括:水平方向和垂直方向时,检测单元303具体可以包括:

水平检测子单元,用于根据该预设比例条件沿着水平方向对该二维码进行检测,得到目标水平区域的中心点,该目标水平区域为在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的区域;

垂直检测子单元,用于根据该目标水平区域的中心点沿着垂直方向对该二维码进行检测,得到目标垂直区域的中心点,该目标垂直区域为在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的区域;

候选中心点确定子单元,用于将该目标垂直区域的中心点作为探测图形的候选中心点。

比如,垂直检测在单元,可以具体用于作经过该目标水平区域的中心点的垂直检测线;沿着该垂直检测线对该二维码进行检测,得到目标垂直区域的中心点。

本实施例中,该水平检测子单元,具体可以用于:

根据该预设比例条件沿着水平方向对该二维码进行逐行扫描;

若扫描到在水平方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标水平区域,则确定该目标水平区域的中心点;

此时,垂直检测子单元,具体可以用于:根据该目标水平区域的中心点沿着垂直方向对该二维码进行扫描,若扫描到在垂直方向上黑色区域和白色区域的宽度比例满足预设比例条件的目标垂直区域,则获取该目标垂直区域的中心点。

(4)中心点确定单元304;

中心点确定单元304,用于从探测图形的候选中心点中确定探测图形的中心点。

比如,该中心点确定单元304,可以具体包括:

次数获取子单元,用于获取该候选中心点在扫描过程中被定位到的次数;

中心点选取子单元,用于根据该次数从探测图形的候选中心点中选取探测图形的中心点。

为了进一步提高二维码识别率,参考图3b,本实施例检测装置还可以包括:解码单元305和中心点选取单元306;

该解码单元305,用于在该中心点选取子单元根据该次数从探测图形的候选中心点中选取探测图形的中心点之后,根据选取的中心点对该二维码进行解码;

该中心点选取单元306,用于在解码单元305解码失败时,从该探测图形的候选中心点中选取满足预设条件的目标中心点,以作为探测图形的中心点。

其中,该中心点选择单元306,具体包括:

候选中心点选取子单元,用于从该候选中心点中选取三个候选中心点;

判断子单元,用于判断该三个候选中心点构成的三角形是否满足预设角度条件;

确定子单元,用于在判断子单元判断为是时,确定该三个候选中心点为满足预设条件的目标中心点。

比如,判断子单元可以具体用于:

获取该三个候选中心点构成的三角形;

获取该三角形中至少两个夹角的余弦值;

判断该至少两个夹角的余弦值是否满足预设余弦值条件;

若是,则判定该三个候选中心点构成的三角形满足预设角度条件;

若否,则判定该三个候选中心点构成的三角形不满足预设角度条件。

该二维码探测图形的检测装置具体可以集成在终端等设备中,该终端具体可以为手机或平板电脑等设备。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本发明实施例在接收到图形检测请求时,可以由条件确定单元302根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值为在目标比例值范围内,然后,由检测单元303根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,由中心点确定单元304从探测图形的候选中心点中确定探测图形的中心点;该方案放宽了预设比例条件,具体地放宽了探测图形中靠近二维码边界的边界黑色区域的宽度比例值,这样在探测图形边界黑色区域的宽度变动或者边界黑色区域缺失的情况下也能识别出探测图形,因此,相对于现有技术,可以提高二维码的识别率。

此外,本发明实施例还可以在对二维码解码失败时,将候选中心点进行三三组合,并结合余弦定理确定真正探测图形的中心,提高了探测图形检测的准确性,进一步提升了二维码的识别率。

实施例四、

相应的,本发明实施例还提供一种终端,可以包括实施例三所述的二维码探测图形的检测装置。具体地,该二维码探测图形的检测装置可以集成在终端的处理器中。

如图4所示,终端可以包括射频(RF,Radio Frequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。

存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。

输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。

WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。

终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:

接收到图形检测请求时,根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内,然后,根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,从探测图形的候选中心点中确定探测图形的中心点。

以上各个具体实施步骤可参见前面的实施例,在此不再赘述。

由上可知,本发明实施例在接收到图形检测请求时,根据该图形检测请求确定探测图形在预设方向上黑色区域和白色区域的宽度比例所需满足的预设比例条件,该预设比例条件包括在该预设方向上探测图形中靠近二维码边界的边界黑色区域的宽度比例值在目标比例值范围内,然后,根据该预设比例条件对待识别的二维码进行检测,得到探测图形的候选中心点,从探测图形的候选中心点中确定探测图形的中心点;该方案放宽了预设比例条件,具体地放宽了探测图形中靠近二维码边界的边界黑色区域的宽度比例值,这样在探测图形边界黑色区域的宽度变动或者边界黑色区域缺失的情况下也能识别出探测图形,因此,相对于现有技术,可以提高二维码的识别率。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明实施例所提供的一种二维码探测图形的检测方法和装置、终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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