一种光照不均的QR码快速自适应二值化方法与流程

文档序号:19251935发布日期:2019-11-27 20:22阅读:364来源:国知局
一种光照不均的QR码快速自适应二值化方法与流程

技术邻域

本发明涉及qr码二值化的技术邻域,尤其涉及一种光照不均的qr码快速自适应二值化方法。



背景技术:

随着移动端智能设备的发展和普及,二维码尤其是qr码已经成为信息交互、数据传输的一个重要载体。qr码图像由黑白模块组成,有自身特有的辨识特点,并且能够高速全方位扫码获取信息。其中图像二值化在qr码的译码过程中发挥着重要作用,如果图像二值化后,位置探测图形无法得到显现,则图像无法被扫码设备定位,获取不了信息;如果图像二值化后,其中的图像细节丢失严重,则会造成格式信息错乱、版本确定错误,从而读取错误的信息。目前常用的二值化算法主要可分为两大类,一类是全局阈值算法,另一类是局部阈值算法,但以上两种二值化算法在受强光照射而导致qr码图像光照强烈不均匀的环境下,均无法让二值化后的qr码被正常识别。



技术实现要素:

本发明为解决现有用于qr码图像的二值化算法在光照不均匀的环境下无法有效地二值化,导致qr码图像无法正确识别的问题,提供了一种光照不均的qr码快速自适应二值化方法。

为实现以上发明目的,而采用的技术手段是:

一种光照不均的qr码快速自适应二值化方法,包括以下步骤:

s1.获取qr码图像并进行二值化处理;

s2.基于二值化处理得到的二值qr码图像,动态定义局部窗口大小;

s3.根据所述局部窗口大小,对所述二值qr码图像进行填充操作,计算填充后二值qr码图像的积分图像;

s4.根据所述局部窗口大小,以所述填充后二值qr码图像的每个像素为中心建立邻域;

s5.基于所述邻域,采用局部阈值法对所述填充后二值qr码图像的每个像素进行二值化处理;

s6.对步骤s5中二值化处理后得到的qr码图像进行开操作,得到qr码二值化图像。

上述方案中,本发明通过位置探测图形实现动态定义窗口大小的局部阈值二值化处理,有效消除了光照不均所造成的影响以及避免了模块信息失真的情况,保证了qr码图像二值化后的深浅模块的完整性,并且结合积分图像加快了阈值的计算,提高了光照不均qr码图像的二值化速度。

优选的,所述步骤s1具体包括以下步骤:

s11.获取qr码图像,将色彩空间为rgb的qr码图像转换成灰度图像,将所述灰度图像定义为i,所述灰度图像i的高度定义为height,所述灰度图像i的宽度定义为width;

s12.通过顶帽变换增强所述灰度图像i的对比度;

s13.采用最大类间方差法将对比度增强后的灰度图像i转化为二值qr码图像b。

优选的,所述步骤s2具体包括以下步骤:

s21.将存有所述二值qr码图像b的像素值的二维数组转为一维数组o,并将所述一维数组o中的0值置为2;

s22.采用差分法对所述一维数组o进行处理,得到一个列数为2的矩阵,所述矩阵的第一列为数组o中连续相同元素的个数;所述矩阵的第二列为所述相同元素对应的一维数组中的起始位置,定义为索引位置,即采用差分法处理后值不为0的位置;

s23.利用索引位置差查找二值qr码图像b中满足1:1:3:1:1的特殊比例,根据索引位置差得到二值qr码图像b中位于位置探测图形正中间深色模块的大小w,即比例值3所对应的索引位置差等于所述深色模块边长的大小w,将w×w定义为局部窗口大小;其中所述的特殊比例即所述二值qr码图像b的位置探测图形的模块序列由深色、浅色、深色、浅色和深色的顺序组成,且各组成之间的相对宽度的比例为1:1:3:1:1,所述索引位置差指所述连续相同元素的个数所对应的索引位置之间的差值。

优选的,所述步骤s2还包括以下步骤:

s24.判断w是否获取成功,若是则结束该步骤,若否则执行下一步;其中w获取成功即在所述步骤s23中利用索引位置差查找得到了二值qr码图像b中满足1:1:3:1:1的特殊比例;

s25.对所述图像i进行直方图均衡得到图像hist;

s26.将存有所述二值qr码图像hist的像素值的二维数组转为一维数组p,并将所述一维数组p中的0值置为2;

s27.采用差分方法对所述一维数组p进行处理,查找其中连续相同元素的个数,并将处理后值不为0的位置定义为索引位置;

s28.利用索引位置差查找二值qr码图像hist中满足1:1:3:1:1的特殊比例,根据索引位置差得到二值qr码图像b中位于位置探测图形正中间深色模块的大小w,即比例值3所对应的索引位置差等于所述深色模块边长的大小w,将w×w定义为局部窗口大小;其中所述的特殊比例即所述二值qr码图像hist的位置探测图形的模块序列由深色、浅色、深色、浅色和深色的顺序组成,且各组成之间的相对宽度的比例为1:1:3:1:1;

s29.再次判断w是否获取成功,若是则结束该步骤,若否则定义w为预设常数,其取值范围为其中w获取成功即在所述步骤s28中利用索引位置差查找得到了二值qr码图像hist中满足1:1:3:1:1的特殊比例。

优选的,所述步骤s3包括以下步骤:

s31.采用0值对所述二值qr码图像b边缘分别填充w/2行和w/2列,得到填充后二值qr码图像bw;

s32.对所述图像bw计算得到积分图像inte,计算公式为:

其中(y,x)为所述图像bw中的像素点。

优选的,所述步骤s4具体为:

根据所述局部窗口大小w,对于所述填充后二值qr码图像bw,以bw(1+w,1+w)到bw(width+w,width+w)的正方形窗口内每一个像素为中心建立邻域。

优选的,所述步骤s5的具体步骤包括:

s51.基于步骤s4建立得到的所述邻域,获取所述积分图像inte的像素灰度总值,公式如下:

s(x,y)=inte(x+d-1,y+d-1)+inte(x-d,y-d)-inte(x-d,y+d-1)-inte(x+d-1,y-d)

其中d=w/2,(x,y)为所述邻域内的像素点;

s52.基于所述像素灰度总值s(x,y),利用sauvola算法求解得到局部阈值;

s53.根据所述局部阈值对所述填充后二值qr码图像bw的每个像素点进行二值化处理,以bw(1+w,1+w)为原点从而得到与所述图像i大小相同的图像c。在本优选方案中,在对每一邻域进行局部阈值的二值化处理时结合积分图像从而加快了阈值的计算。

优选的,所述步骤s6具体为:利用正方形作为结构元素对所述图像c进行开操作后得到qr码二值化图像。

与现有技术相比,本发明技术方案的有益效果是:

本发明根据qr码在光照强烈不均匀环境下,掩模后的图像特性,通过位置探测图形动态定义局部窗口大小,并以每个像素为中心建立邻域,分别对每一个像素进行局部阈值二值化处理,避免了光照不均所造成影响以及模块信息失真的情况,保证了qr码二值化后深浅模块的完整性,从而提高qr码图像二值化的准确性。

本发明的二值化方法能有效地使qr码的深浅色模块在二值化后依然完整,避免目标部分缺失和伪影,解决了现有用于qr码图像的二值化算法在光照不均匀的环境下无法有效地二值化,导致qr码图像无法正确识别的问题,并且结合积分图像加快了阈值的计算,提高了qr码的识别率以及识别效率。

附图说明

图1为实施例1中光照不均qr码快速自适应二值化方法的总流程图。

图2为实施例1的步骤s1中各个分步骤的流程图。

图3为实施例1的步骤s2中各个分步骤的流程图。

图4为实施例1中qr码图像转换的灰度图像i的效果图。

图5为实施例1中灰度图像i经过顶帽变换后的效果图。

图6为实施例1中将对比度增强后的灰度图像i转化为二值qr码图像b的效果图。

图7为实施例1中对填充后二值qr码图像bw计算得到的积分图像inte。

图8为实施例1中采用局部阈值算法sauvola对每个像素进行二值化处理后的效果图。

图9为实施例1中最终得到的qr码二值化图像的效果图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本邻域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

一种光照不均的qr码快速自适应二值化方法,如图1所示,包括以下步骤:

s1.获取qr码图像并进行二值化处理;

如图2所示,具体包括以下步骤:

s11.获取qr码图像,将色彩空间为rgb的qr码图像转换成如图4所示的灰度图像,将所述灰度图像定义为i,所述灰度图像i的高度定义为height,所述灰度图像i的宽度定义为width;

s12.通过顶帽变换增强所述灰度图像i的对比度,如图5所示;

s13.采用最大类间方差法将对比度增强后的灰度图像i转化为如图6所示的二值qr码图像b,此处可清楚地看到位于图像左上角的位置探测图形;

s2.基于二值化处理得到的二值qr码图像,动态定义局部窗口大小;

如图3所示,具体包括以下步骤:

s21.将存有所述二值qr码图像b的像素值的二维数组转为一维数组o,并将所述一维数组o中的0值置为2;

s22.采用差分法对所述一维数组o进行处理,得到一个列数为2的矩阵,所述矩阵的第一列为数组o中连续相同元素的个数;所述矩阵的第二列为所述相同元素对应的一维数组中的起始位置,定义为索引位置,即采用差分法处理后值不为0的位置;

s23.利用索引位置差查找二值qr码图像b中满足1:1:3:1:1的特殊比例,根据索引位置差得到二值qr码图像b中位于位置探测图形正中间深色模块的大小w,即比例值3所对应的索引位置差等于所述深色模块边长的大小w,将w×w定义为局部窗口大小;其中所述的特殊比例即所述二值qr码图像b的位置探测图形的模块序列由深色、浅色、深色、浅色和深色的顺序组成,且各组成之间的相对宽度的比例为1:1:3:1:1,所述索引位置差指所述连续相同元素的个数所对应的索引位置之间的差值;

s24.判断w是否获取成功,若是则结束该步骤,若否则执行下一步;其中w获取成功即在所述步骤s23中利用索引位置差查找得到了二值qr码图像b中满足1:1:3:1:1的特殊比例;若所述步骤s23中不存在二值qr码图像b中满足1:1:3:1:1的特殊比例,则获取失败;

s25.对所述图像i进行直方图均衡得到图像hist;

s26.将存有所述二值qr码图像hist的像素值的二维数组转为一维数组p,并将所述一维数组p中的0值置为2;

s27.采用差分方法对所述一维数组p进行处理,查找其中连续相同元素的个数,并将处理后值不为0的位置定义为索引位置;

s28.利用索引位置差查找二值qr码图像hist的位置探测图形中1:1:3:1:1的特殊比例,根据索引位置差得到二值qr码图像hist中的单个模块大小和位置探测图形正中间深色模块的大小w,将w×w定义为局部窗口大小;其中所述的特殊比例即所述位置探测图形的模块序列由深色、浅色、深色、浅色和深色的顺序组成,且各组成之间的相对宽度的比例为1:1:3:1:1;

s29.再次判断w是否获取成功,若是则结束该步骤,若否则定义w为预设常数,其取值范围为其中w获取成功即在所述步骤s28中利用索引位置差查找得到了二值qr码图像hist中满足1:1:3:1:1的特殊比例。

s3.根据所述局部窗口大小,对所述二值qr码图像进行填充操作,计算填充后二值qr码图像的积分图像;

具体包括以下步骤:

s31.采用0值对所述二值qr码图像b边缘分别填充w/2行和w/2列,得到填充后二值qr码图像bw;

s32.对所述填充后二值qr码图像bw计算得到如图7所示的积分图像inte,计算公式为:

其中(y,x)为所述图像bw中的像素点。

s4.根据所述局部窗口大小w,对于所述填充后二值qr码图像bw,以bw(1+w,1+w)到bw(width+w,width+w)的正方形窗口内每一个像素为中心建立邻域;

s5.基于所述邻域,采用局部阈值法对所述填充后二值qr码图像的每个像素进行二值化处理,如图8所示;

具体包括以下步骤:

s51.基于步骤s4建立得到的所述邻域,获取所述积分图像inte的像素灰度总值,公式如下:

s(x,y)=inte(x+d-1,y+d-1)+inte(x-d,y-d)-inte(x-d,y+d-1)-inte(x+d-1,y-d)

其中d=w/2,(x,y)为所述邻域内的像素点;

s52.基于所述像素灰度总值s(x,y),利用sauvola算法求解得到局部阈值;

s53.根据所述局部阈值对所述填充后二值qr码图像bw的每个像素点进行二值化处理,以bw(1+w,1+w)为原点从而得到与所述图像i大小相同的图像c。

s6.利用正方形作为结构元素对所述图像c进行开操作后得到qr码二值化图像,如图9所示,该图像能够被成功识别并读取其中的内容信息。

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属邻域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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