一种QR二维码二值化方法和系统与流程

文档序号:12064238阅读:722来源:国知局
一种QR二维码二值化方法和系统与流程

本发明涉及通信技术领域,尤其涉及一种QR二维码二值化方法和系统。



背景技术:

近年来移动终端的快速发展和普及使得信息获取的途径变得更加快捷,QR(Quick Response)二维码扮演了重要的角色。无论在物联网领域还是社交网络,人们通过扫描QR二维码图像快速获得商品信息,应用下载。QR二维码因其包信息容量大、可脱机读取、类别丰富并可适应不同介质的优点是目前应用最为广泛的QR二维码,可以通过印刷、打印、印刻等不同方式附着在不同材质上,在对QR二维码进行扫描获取信息时通常因为光照不均等原因导致QR二维码图像有明显的明暗造成识读效果不好。

识读QR二维码图像之前的重要步骤是对QR二维码图像进行二值化,其主要分为全局化方法和局部二值化方法,全局二值化方法采用单一阈值将QR二维码图像分为目标和前景,不适用于图像含有灰度值不同的多目标情况。因此,局部二值化是解决QR二维码图像二值化的主要方法,需要研究试图采用自适应选取阈值或对QR二维码图像进行分区划分确定多阈值的方法,阈值的选择通常采用最大熵,最大差分等方法,这些方法针对部分图像有效,而对灰度分布较为复杂的QR二维码图像效果不好。



技术实现要素:

本发明的实施例提供了一种QR二维码二值化方法和系统,本发明提供了如下方案:包括:

获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;

将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;

分别获取各个灰度模糊区域的对应的灰度阈值;

根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区域二值化。

根据本发明的上述方法,将所述灰度图像按照所述灰度范围划分若干灰度模糊区域,包括:

在所述灰度范围内随机选择K-1个灰度值表示为a1,a2,…,ak-1,且满足a1<a2<…<ak-1

其中,K-1个灰度值将所述灰度图像划分K个灰度模糊区域。

根据本发明的上述方法,还包括:

获取k个灰度阈值t1,t2,…,tk,使灰度图像的信息熵H(t1,t2,...,tk)最大;

其中,

k为灰度图像所划分的灰度模糊区域的个数。

根据本发明的上述方法,包括:

当灰度模糊区域的灰度值大于该区域对应的灰度阈值时,将该灰度模糊区域置为前景像素;

当灰度模糊区域的灰度值小于该区域对应的灰度阈值时,将该灰度模糊区域置为背景像素。

根据本发明的另一方面,还提供一种QR二维码二值化系统,包括:

获取模块:其用于获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;

划分模块:其用于将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;

阈值模块:其用于分别获取各个灰度模糊区域的对应的灰度阈值;

二值化模块:根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区域二值化。

根据本发明的另一方面,所述划分模块,包括:

划分单元,其用于在所述灰度范围内随机选择K-1个灰度值表示为a1,a2,…,ak-1,且满足a1<a2<…<ak-1

其中,K-1个灰度值将所述灰度图像划分K个灰度模糊区域。

根据本发明的另一方面,还包括:

阈值获取模块:其用于获取k个灰度阈值t1,t2,…,tk,使灰度图像的信息熵H(t1,t2,...,tk)最大;

其中,

k为灰度图像所划分的灰度模糊区域的个数。

根据本发明的另一方面,所述二值化模块,包括:

前景模块:其用于当灰度模糊区域的灰度值大于该区域对应的灰度阈值时,将该灰度模糊区域置为前景像素;

背景模块:其用于当灰度模糊区域的灰度值小于该区域对应的灰度阈值时,将该灰度模糊区域置为背景像素。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;分别获取各个灰度模糊区域的对应的灰度阈值;根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区域二值化。本发明的方法,对灰度级广泛的QR二维码图像的灰度熵值选择多个阈值,并对其进行二值化。解决QR二维码在光照不均或光照过曝等情况下的二值化问题,改进灰度最大熵算法提出多阈值的方法对二值化,从而提高二 值化效果。

附图说明

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

图1为本发明实施例一提供的一种QR二维码二值化方法的处理流程图;

图2为本发明实施例二提供的一种QR二维码二值化系统的模块图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

实施例一

该实施例提供了一种QR二维码二值化方法的处理流程如图1所示,包括如下的处理步骤:

步骤11、获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;

具体地,对QR二维码图像进行灰度化,计算灰度,计算过程:

f(x,y)=0.299×R(x,y)+0.5866×G(x,y)+0.1145×B(x,y)

假设QR二维码的灰度图像中像素的灰度值表示为ai,灰度范围为[0,l-][0l]。

步骤12、将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;

优选地,在所述灰度范围内随机选择K-1个灰度值表示为a1,a2,…,ak-1,且满足a1<a2<…<ak-1

其中,K-1个灰度值将所述灰度图像划分K个灰度模糊区域;k个灰度模糊区域,表示为[0,a1],(a1,a2],...,(ak-1,l]。

步骤13、分别获取各个灰度模糊区域的对应的灰度阈值;

理论上,QR二维码的灰度图像灰度分布在的范围内,在该灰度级范围内存在阈值t,使得该图像获得的信息熵H(t)的值最大;

其中,pi是第i灰度级的像素概率。

H(t)的值越大图像的分割效果越好,但是对于灰度分布跨度较大的图像单一的阈值分割效果不好,因此,需要分别获取各个灰度模糊区域的对应的灰度阈值;灰度阈值使灰度模糊区域的信息熵最大,当灰度图像中每个的灰度模糊区域的信息熵最大时,整个灰度图像的信息熵也最大。

按照上述示例,灰度图像划分K个灰度模糊区域,存在k个灰度阈值t1,t2,…,tk,k个灰度阈值分割图像后的信息熵值为H(t1,t2,...,tk),K个灰度阈值为K个灰度模糊区域对应的灰度阈值,每一个灰度阈值使与灰度阈值对应的灰度模糊区域的信息熵最大,k个灰度阈值对应的k个信息熵的累计的和使所述灰度图像的信息熵最大。

具体地,灰度图像的信息熵为:

在实际操作过程中可以通过人为设置阈值个数进行效果验证,具有较大的灵活性。

步骤14、根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区 域二值化。

利用步骤12得到的k个灰度阈值进行QR二维码的灰度图像二值化,假设灰度域[li-1,li]的阈值为ti,对该范围的像素灰度根据根据ti进行划分,分为前景像素Fi和背景像素Bi,当灰度模糊区域的灰度值大于该区域对应的灰度阈值时,将该灰度模糊区域置为前景像素;

当灰度模糊区域的灰度值小于该区域对应的灰度阈值时,将该灰度模糊区域置为背景像素;Fi={(x,y)|f(x,y)>ti},Bi={(x,y)|f(x,y)<ti}。

实施例二

该实施例提供了一种QR二维码二值化系统,其具体实现模块如图2所示,具体可以包括如下的模块:

获取模块21:其用于获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;

划分模块22:其用于将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;

阈值模块23:其用于分别获取各个灰度模糊区域的对应的灰度阈值;

二值化模块24:根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区域二值化。

一种QR二维码二值化系统,划分模块22,包括:

划分单元221,其用于在所述灰度范围内随机选择K-1个灰度值表示为a1,a2,…,ak-1,且满足a1<a2<…<ak-1

其中,K-1个灰度值将所述灰度图像划分K个灰度模糊区域。

一种QR二维码二值化系统,还包括:

阈值获取模块25:其用于获取k个灰度阈值t1,t2,…,tk,使灰度图像的信息 熵H(t1,t2,...,tk)最大;

其中,

k为灰度图像所划分的灰度模糊区域的个数。

一种QR二维码二值化系统,二值化模块24,包括:

前景模块241:其用于当灰度模糊区域的灰度值大于该区域对应的灰度阈值时,将该灰度模糊区域置为前景像素;

背景模块242:其用于当灰度模糊区域的灰度值小于该区域对应的灰度阈值时,将该灰度模糊区域置为背景像素。

用本发明实施例的装置进行QR二维码二值化的具体过程与前述方法实施例类似,此处不再赘述。

综上所述,本发明实施例获取QR二维码的灰度图像,并获取所述灰度图像的灰度范围;将所述灰度图像按照所述灰度范围划分若干灰度模糊区域;分别获取各个灰度模糊区域的对应的灰度阈值;根据各个灰度模糊区域的对应的阈值对各灰度模糊区域进行区域二值化。本发明的方法,对灰度级广泛的QR二维码图像的灰度熵值选择多个阈值,并对其进行二值化。解决QR二维码在光照不均或光照过曝等情况下的二值化问题,改进灰度最大熵算法提出多阈值的方法对二值化,从而提高二值化效果。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算 机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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