一种用于二维码识别的二维码区域精确定位方法

文档序号:6557528阅读:1612来源:国知局
专利名称:一种用于二维码识别的二维码区域精确定位方法
技术领域
本发明涉及一种用于二维码识别的二维码区域精确定位方法,属于信息存储、定位和识别技术领域。
背景技术
已有的如图1所示的二维码,在水平和垂直方向的二维空间存储信息的条码,称为二维码(2-dimensional bar code),可直接显示英文、中文、数字、符号、图型;贮存数据量大,可存放1K字符,可用扫描设备直接读取内容,无需另接数据库。
二维码可以分为堆叠式/行排式二维码和矩阵式二维码,其中堆叠式/行排式二维码形态上是由多行短截的一维条码堆叠而成;矩阵式二维码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,由“点”和“空”的排列组成代码。
矩阵式二维码又称棋盘式二维码,它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维码所代表的意义。矩阵式二维码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。
已有定位二维码区域的方法包括1、现有的二维码区域定位是通过寻像图形确定二维条码的目标区域,QR码中的寻像图形由位于二维码图形的4个角中的3个角上的3个相同的位置探测图形组成。每一个探测图形的模块序列由深色-浅色-深色-浅色-深色次序构成,各元素的相对宽度的比例是1∶1∶3∶1∶1。
2、当探测到预选区时,检测图像中一行像素与位置探测图形的外边缘相遇的第一点和最后一点。对该图像中的相邻象素行与位置探测图形的外边缘相遇的第一点和最后一点探测图形的直线被全部识别。
3、重复以上步骤,在图像的Y轴方向,识别穿过位置探测图形中心方块的所有像素行。
4、确定探测图形中心,通过在X轴方向穿过位置探测图形中心块的最外层的像素线上A、B两点连线的中心点连一直线,用同样的方法在另一垂直方向上画一直线,两条直线的交点就是位置探测图形的中心。
5、重复步骤1-3,确定其他两个位置探测图形的中心位置。
6、通过分析位置探测图形中心的坐标,识别哪一个位置探测图形是左上角图形以及符号的旋转角度来确定符号的方位。
上述已有方法是通过寻找目标区域内的特定图形而实现定位的,寻找目标区域消耗的时间长,而定位精度又低。
发明目的本发明的目的是提出一种用于二维码识别的二维码区域精确定位方法,以提高二维码的识别速度和精度。
本发明提出的用于二维码识别的二维码区域精确定位方法,包括以下步骤(1)将所采集的待识别二维码的彩色位图转换为256色灰度位图;(2)设定一个阈值,将上述灰度位图的每一个象素的灰度值与阈值相比较,若大于阈值,则赋值1,若小于阈值,则赋值0,得到二值化图像,阈值为大于零小于255的正整数;(3)分别向上述二值化图像的X轴、Y轴投影,记录跳变频率最高区域的X值、Y值,将此X,Y值的组合作为二维码区域的中心点;(4)从上述中心点为起点,向上、下、左、右四个方向依次进行扫描,当浅色区域和深色区域发生跳变,且浅色区域的累积长度小于一长度域值时,结束扫描,得到二维码区域的四个原始最外点;(5)以上述任意一个原始最外点为起点按照逆时针或顺时针方向,按上述四个最外点形成的方形框的轨迹经过其余三点,最后回到起始点,进行扫描,若所经过的最外点的一边有浅色区域和深色区域发生跳变,则将该最外点按一定步长向二值化图像边缘移动,得到一个新的最外点,并以该新的最外点替代相应的原始最外点;(6)以上述原始最外点和新的最外点中的任意一点为起点,重复步骤(5),直至所述的方形框的每条边都没有浅色区域和深色区域之间的跳变,得到四个最后的最外点,由该四个最后的最外点形成的方形框即为二维码的区域。
上述方法中,彩色位图转换为256色灰度位图的公式为灰度=0.2126×红色分量+0.7152×绿色分量+0.0722×蓝色分量本发明提出的用于二维码识别的二维码区域精确定位方法,其优点是,由于在寻找二维码区域的过程中没有采用寻像图形,间接提高了码图的数据容量,使识别效率提高了一倍。二维码区域的确定过程不需要对输入的图像逐行扫描,因此区域定位速度更快。


图1是二维码的结构示意图。
图2和图3分别是本发明方法中区域定位的中间过程示意图。
图1~图3中,1是空白区,2是颜色区,3是向上第一次扫描确定的上部最外点,4是向左第一次扫描确定的左部最外点,5是经过投影确定的二维码区域的中心点,6是向下第一次扫描确定的下部最外点,7是向右第一次扫描确定的右部最外点,8是第一次扫描所确定的最外点组成的方形框,即第一次扫描得到的粗略估计的二维码区域,9是由于7所在边有跳变向右移动N个像素所确定的最外点,10是最外点3、4、6、9所确定的方形框,即第二次扫描得到的估计的二维码区域,11是最终所确定的上部最外点,12是最终所确定的左部最外点,13是最终所确定的右部最外点,14是最终所确定的下部最外点,15是为最外点11、12、13、14所确定方形框。
具体实施例方式
本发明提出的用于二维码识别的二维码区域精确定位方法,首先将所采集的待识别二维码的彩色位图转换为256色灰度位图;设定一个阈值,将上述灰度位图的每一个象素的灰度值与阈值相比较,若大于阈值,则赋值1,若小于阈值,则赋值0,得到二值化图像,阈值为大于零小于255的正整数;分别向二值化图像的X轴、Y轴投影,记录跳变频率最高区域的X值、Y值,将此X,Y值的组合作为二维码区域的中心点;从上述中心点为起点,向上、下、左、右四个方向依次进行扫描,当浅色区域和深色区域发生跳变,且浅色区域的累积长度小于一长度域值时,结束扫描,得到二维码区域的四个原始最外点;以任意一个原始最外点为起点按照逆时针或顺时针方向,按上述四个最外点形成的方形框的轨迹经过其余三点,最后回到起始点,进行扫描,若所经过的最外点的一边有浅色区域和深色区域发生跳变,则将该最外点按一定步长向二值化图像边缘移动,得到一个新的最外点,并将该新的最外点替代相应的原始最外点;以上述原始最外点和新的最外点中的任意一点为起点,重复上述过程,直至方形框的每条边都没有浅色区域和深色区域之间的跳变,得到四个最后的最外点,由该四个最后的最外点形成的方形框即为二维码的区域。。
上述方法中,彩色位图转换为256色灰度位图的公式为灰度=0.2126×红色分量+0.7152×绿色分量+0.0722×蓝色分量本发明方法中,第一次从上述中心点为起点,向上、下、左、右四个方向依次进行扫描过程,得到的二维码区域是对二维码区域的粗略估计,每完成一次扫描,都会有一个最外点向外移动,移动后的最外点替代原来的最外点,而其余的最外点位置不变。接下去的扫描,以替代后的最外点与原来的最外点形成方形框。
以下结合附图2、3、4、5介绍本发明方法的一个实施例将所采集的彩色图像转化成的二值化图像,如图2所示,由投影法确定的二维码区域的中心点5,以中心点5为起点向上、下、左、右四个方向扫描确定四个原始最外点3、4、6、7,8是第一次扫描所确定的最外点组成的方形框,即第一次扫描得到的粗略估计的二维码区域,如图3所示。以点7为起点按逆时针方向沿方形框的轨迹依次经过点3、4、6,最后回到点7,在7点所在方形框的边上有跳变,将点7向右移动N象素,即为图4的新最外点9,10是最外点3、4、6、9所确定的方形框,即第二次扫描得到的估计的二维码区域。再以点9为起点,按逆时针方向沿方形框的轨迹依次经过点3、4、6,并检测由每个点所在的边是否有跳变,如果有,则向外移动此点,如此循环,直到最后所确定的四个最外点11、12、13、14所在的边都没有跳变为止,15是最后的最外点11、12、13、14所确定的方形框,即为精确定位的二维码区域,如图5所示。
权利要求
1.一种用于二维码识别的二维码区域精确定位方法,其特征在于该方法包括以下步骤(1)将所采集的待识别二维码的彩色位图转换为256色灰度位图;(2)设定一个阈值,将上述灰度位图的每一个象素的灰度值与阈值相比较,若大于阈值,则赋值1,若小于阈值,则赋值0,得到二值化图像,域值为大于零小于255的正整数;(3)分别向上述二值化图像的X轴、Y轴投影,记录跳变频率最高区域的X值、Y值,将此X,Y值的组合作为二维码区域的中心点;(4)从上述中心点为起点,向上、下、左、右四个方向依次进行扫描,当浅色区域和深色区域发生跳变,且浅色区域的累积长度小于一长度域值时,结束扫描,得到二维码区域的四个原始最外点;(5)以上述任意一个原始最外点为起点按照逆时针或顺时针方向,按上述四个最外点形成的方形框的轨迹经过其余三点,最后回到起始点,进行扫描,若所经过的最外点的一边有浅色区域和深色区域发生跳变,则将该最外点按一定步长向二值化图像边缘移动,得到一个新的最外点,并以该新的最外点替代相应的原始最外点;(6)以上述原始最外点和新的最外点中的任意一点为起点,重复步骤(5),直至所述的方形框的每条边都没有浅色区域和深色区域之间的跳变,得到四个最后的最外点,由该四个最后的最外点形成的方形框即为二维码的区域。
2.如权利要求1所述的方法,其特征在于其中所述的彩色位图转换为256色灰度位图的公式为灰度=0.2126×红色分量+0.7152×绿色分量+0.0722×蓝色分量。
全文摘要
本发明涉及一种用于二维码识别的二维码区域精确定位方法,属于信息存储、定位和识别技术领域。首先将所采集的待识别二维码的彩色位图转换为256色灰度位图,将灰度位图转换成二值化图像,分别向二值化图像的X轴、Y轴投影,得到二维码区域的中心点;从中心点为起点,向上、下、左、右四个方向进行扫描,得到二维码区域的四个最外点;以任意一个最外点为起点按照逆时针或顺时针方向,得到一个新的最外点;重复上述过程,得到精确定位的二维码的区域。本发明方法由于在寻找二维码区域的过程中没有采用寻像图形,间接提高了码图的数据容量,使识别效率提高了一倍。二维码区域的确定过程不需要对输入的图像逐行扫描,因此区域定位速度更快。
文档编号G06K9/00GK1818926SQ200610064938
公开日2006年8月16日 申请日期2006年3月17日 优先权日2006年3月17日
发明者侯琰霖 申请人:北京紫光捷通科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1