移动终端图像捕获方法技术

技术编号:14311697 阅读:54 留言:0更新日期:2016-12-27 20:33
本发明专利技术提供了一种移动终端图像捕获方法,该方法包括:检测二维码定位框的位置,对定位框的边缘进行定位,以确定二维码的边缘方向。本发明专利技术提出了一种移动终端图像捕获方法,相比于现有方法更简单方便,提高了识别效率。

【技术实现步骤摘要】

本专利技术涉及图像识别,特别涉及一种移动终端图像捕获方法
技术介绍
二维码具有存储容量大、数据类型丰富、安全稳定性高等优势;所以被广泛应用在很多行业。在移动互联网逐渐发展起来之后,二维码又在移动互联网中占据了重要地位,如今很多被大众熟知的移动应用都带有二维码扫描的功能,二维码极大地方便了移动应用中查询、支付、下载等功能,渐深入影响着日常生活。然而二维码在逐渐发展和推广的同时也会有一系列的相关问题。现有的实际使用中,二维码所处的环境多变:电子屏幕、印刷品上、户外广告上等,对于移动设备所采集到二维码图像会有诸多影响,可能会出现失真和光照不均等问题,可能会导致二维码无法准确识别。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种移动终端图像捕获方法,包括:检测二维码定位框的位置,对定位框的边缘进行定位,以确定二维码的边缘方向。优选地,所述方法还包括:首先对二维码的进行水平和竖直两个方向上的扫描;发现具备定位框的以下特征并记录,即黑白块比例为预定义比例的区域;在水平方向扫描得到的具备定位框特征的区域,对区域的灰度值进行统计;选择一组值最小的像素点,计算出距离这组像素点距离最近的直线的方程,确定为二维码的左边缘方向;选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程,确定为二维码的右边缘方向;在竖直方向扫描二维码得到的具备定位框特征的区域,对该区域的灰度值进行统计,选择一组值最小的像素点,计算出离这组像素点距离最近的直线的方程,就是二维码的上边缘方向;选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程就是二维码的下边缘方向;具体检测步骤包括:步骤1:水平方向扫描二维码记录第一个像素点的颜色为W;步骤2:继续扫描,直到发现和W不同的颜色为B的像素点,记录当前颜色为W的像素点集的长度为LenA;继续扫描直到再次出现颜色为W的像素点,记录当前颜色为B的像素点集的长度记录为LenB;步骤3:判断LenA和LenB的差值是否在第一误差阈值内,如果不是则回到第2步,如果是则转到第4步;步骤4:继续扫描,直到发现和W不同的颜色为B的像素点,记录当前颜色为W的像素点集的长度为LenC;步骤5:判断LenC/3和(LenA+LenB)/2是否在第二误差阈值内,如果不是回到第2步,如果是转到第6步;步骤6:继续扫描,直到发现和B不同的颜色为W的像素点,记录当前颜色为B的像素点集的长度为LenD;步骤7:判断LenD和(LenA+LenB+LenC)/5是否在第三误差阈值内,如果不是回到第2步,如果是转到第8步;步骤8:继续扫描,直到发现和W不同的颜色为B的像素点,记录着一次颜色为W的像素点集的长度记录为LenE;步骤9:判断LenE和(LenA+LenB+LenC+LenD)/6是否在第四误差阈值内,如果不是回到第2步,如果是则将LenA、LenB、LenC、LenD和LenE作为符合定位框特征的区域;其中,在水平扫描中得到所有结果区域,记录区域的起始像素点和终止像素点;选取终止像素点集合中值最大的N个像素点;根据已知的N个像素点的坐标位置(x1,y1),(x2,y2),…,(xn,yn)来做出拟合直线y=kx+b,求得k和b的值使得误差平方和∑(yi-(kxi+b))2为最小,则y=kx+b就是所求的直线方程。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种移动终端图像捕获方法,相比于现有方法更简单方便,提高了识别效率。附图说明图1是根据本专利技术实施例的移动终端图像捕获方法的流程图。具体实施方式下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种移动终端图像捕获方法。图1是根据本专利技术实施例的移动终端图像捕获方法流程图。本专利技术根据二维码的自身特点利用一种移动终端捕获图像的定位和采样方法,相对于传统方法的边缘检测更简单方便,对几何校正后仍然带有失真的二维码进行采样,提高了识别效率。对于二维码这种自身带有特征且稳定性高的符号,可以利用二维码符号的特征来进行检测。利用对定位框定位的检测方法来对定位框的边缘定位,就可以得到二维码的边缘方向。首先对二维码的进行水平和竖直两个方向上的扫描;发现具备定位框特征,黑白块比例为1:1:3:1:1的区域,记录下来。在水平方向扫描二维码得到的具备定位框特征的区域,对区域的灰度值进行统计。选择一组值最小的像素点,计算出距离这组像素点距离最近的直线的方程,就是二维码的左边缘方向;同理选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程就是二维码的右边缘方向。然后在竖直方向扫描二维码得到的具备定位框特征的区域,对该区域的灰度值进行统计。选择一组值最小的像素点,计算出离这组像素点距离最近的直线的方程,就是二维码的上边缘方向;同理选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程就是二维码的下边缘方向。具体检测步骤如下:步骤1:水平方向扫描二维码记录第一个像素点的颜色为W;步骤2:继续扫描,直到发现和W不同的颜色为B的像素点,记录当前颜色为W的像素点集的长度为LenA;继续扫描直到再次出现颜色为W的像素点,记录当前颜色为B的像素点集的长度记录为LenB;步骤3:判断LenA和LenB的差值是否在第一误差阈值内,如果不是则回到第2步,如果是则转到第4步;步骤4:继续扫描,直到发现和W不同的颜色为B的像素点,记录当前颜色为W的像素点集的长度为LenC;步骤5:判断LenC/3和(LenA+LenB)/2是否在第二误差阈值内,如果不是回到第2步,如果是转到第6步。步骤6:继续扫描,直到发现和B不同的颜色为W的像素点,记录当前颜色为B的像素点集的长度为LenD;步骤7:判断LenD和(LenA+LenB+LenC)/5是否在第三误差阈值内,如果不是回到第2步,如果是转到第8步。步骤8:继续扫描,直到发现和W不同的颜色为B的像素点,记录着一次颜色为W的像素点集的长度记录为LenE;步骤9:判断LenE和(LenA+LenB+LenC+LenD)/6是否在第四误差阈值内,如果不是回到第2步,如果是则将LenA、LenB、LenC、LenD和LenE作为符合定位框特征的区域。水平扫描得到所有结果区域,记录区域的起始像素点和终止像素点;选取终止像素点集合中值最大的N个像素点,得到距离N个像素点最短的直线方程就是二维码的右边缘方向;从起始像素点集合中选取值最小的N个像素点,得到距离这N个像素点最短的直线方程就是二维码的左边缘方向;竖直扫描时方法和水平扫描方法相同,能得到二维码的上边缘和下边缘方向。关于计算距离N个像素点最短的直线方程,具体为,根据已知的N个像素点的坐标位置(x1,y1),(x2,y2),…,(xn,yn)来做出拟合直线y=kx+b,求得k和b的值使得误差平方和∑(yi-(kxi+b))2本文档来自技高网...

【技术保护点】
一种移动终端图像捕获方法,用于移动终端对二维码进行定位,其特征在于,包括:检测二维码定位框的位置,对定位框的边缘进行定位,以确定二维码的边缘方向。

【技术特征摘要】
1.一种移动终端图像捕获方法,用于移动终端对二维码进行定位,其特征在于,包括:检测二维码定位框的位置,对定位框的边缘进行定位,以确定二维码的边缘方向。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:首先对二维码的进行水平和竖直两个方向上的扫描;发现具备定位框的以下特征并记录,即黑白块比例为预定义比例的区域;在水平方向扫描得到的具备定位框特征的区域,对区域的灰度值进行统计;选择一组值最小的像素点,计算出距离这组像素点距离最近的直线的方程,确定为二维码的左边缘方向;选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程,确定为二维码的右边缘方向;在竖直方向扫描二维码得到的具备定位框特征的区域,对该区域的灰度值进行统计,选择一组值最小的像素点,计算出离这组像素点距离最近的直线的方程,就是二维码的上边缘方向;选择一组值最大的像素点,计算离这组像素点距离最近的直线的方程就是二维码的下边缘方向;具体检测步骤包括:步骤1:水平方向扫描二维码记录第一个像素点的颜色为W;步骤2:继续扫描,直到发现和W不同的颜色为B的像素点,记录当前颜色为W的像素点集的长度为LenA;继续扫描直到再次出现颜色为W的像素点,记录当前颜色为B的像素点集的长度记录为LenB;步骤3:判断LenA和LenB的差值是否在第一...

【专利技术属性】
技术研发人员:董政吴文杰陈露李学生
申请(专利权)人:成都陌云科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1