APP下载

一种针对彩色二维码图像的二值化方法

2016-10-21靳佳澍

科技与企业 2016年4期

【摘要】二维码图像数据码细小琐碎,难以与背景区分开。提出一种针对彩色二维码图像的二值化方法,它以迭代法求取自适应性阈值为基础,将它与背景减法相结合,对减法结果进行分区处理。实验结果表明,本方法能得到较好的二值化结果,对二维码图像的提取具有良好的适应性。

【关键词】彩色二维码;图像二值化;背景减法;形态学开运算

1、引言

对常用的图像二值化方法比如Niblack法、Otus法(最大类间差法)、Bernsen法等进行总结。用上述二值化对日常生活的彩色二维码进行图像处理,发现不足并提出一种以迭代法为基础的图像二值化的新方法流程,用来处理与二维码图像相似的细小前景与复杂背景的图像二值化分离。结果表明,常见的二值化方法不适用于彩色二维码的二值化处理,不利于从数据码中准确提取前景信息点,本文基于MATLAB软件仿真,以本文提到的算法流程对彩色二维码图像进行二值化,经实验结果证明该方法有效可行。

2、二值化方法

到目前为止,学者们提出的二值化方法有100多种,主要分为两个类型:局部阈值法和全局阈值法。其中Niblack法,最大类间差法,Bernsen法,迭代法等是算法中较为经典的算法,本文首先对这些算法进行大概的总结,分析其优点和不足,然后再根据这些经典算法进行扩展得出本文处理二维码图像的算法。

2.1Niblack法

Niblack属于局部阀值算法,局部阀值法对于识别干扰比较严重,品质较差的图像具有较好的效果。m为以该像素点为中心的区域的平均灰度值,v是该区域的标准差,k是一个修正系数(通常取-0.1)。阈值的计算公式是:

此方法能够很好应对图像光照不均的现象,但容易出现尾影,产生大量的噪声。

2.2Bernsen法

Bernsen算法是一种典型的局部阀值算法。在灰度图像中以像素点(i,j)为中心窗口,计算图像各个像素点(i,j)的阈值T(i,j)。

2.3 Otus法(最大类间差法)

全局阀值方法操作容易,原理简单,但是在图像呈现光照不均、背景复杂、较多噪声干扰时,表现出的效果差。最经典方法就是最大类间差法(Otsu法)。Otsu法确定最佳阈值的准则是将图像通过阈值分为两组,一组对应目标前景,一组对应背景,使阈值分割后各个像素类的类内方差最小,类别之间的差别最大。设T为选取的阀值,如果目标点的灰度值小于阀值则归为背景,大于该阀值则为前景。w0为在此阈值T下前景点数比例,u0为前景平均灰度;w1为背景点数比例,u1为背景平均灰度。式中u满足:

当方差g最大时,可以认为此时前景和背景差异最大,此时阈值T为最理想阈值。

2.4迭代法

迭代法是另一种全局阀值算法。该方法初始选取一个估计阈值T和参数△T,参数△T用于控制迭代次数。具体步骤如下:(1)用阈值T分割图像,产生两组像素G1和G2,前者由所有灰度值大于T的像素组成,后者由所有灰度值小于等于T的像素组成。(2)然后分别计算G1、G2区域内的平均灰度值m1和m2。(3)根据m1和m2计算出新的阈值(4)重复步骤(1)~(3),直到在连续重复中, 的差异比预先设定的参数△T小为止。

3、本文方法

所采用的步骤如下:首先对图像进行图像形态学开运算,开运算分为两步,先去图像进行腐蚀后对图像使用相同的机构元素进行膨胀操作。开运算能够去除孤立的小点、毛刺,消除小物体,平滑大物体的边界。

数学表达式为:。

然后再用原图像和得到的开运算图像进行减法运算,得到减法运算结果。图像的减法运算也称为差分法,是一种常用于检测图像变化及物体运动的图像处理方法,这种方法可以提供图像间的差异信息,消除图像背景,清除背景噪声。

接著将减法结果进行分区处理,其目的是分别求出分割后的各个区域通过迭代法所最后确定的阈值,统计所有的区域阈值的大小。因为此时减法结果数据码为深色,而背景为浅色,如何选取一个合适的阈值来区分数据码和背景是对图像二值化的关键。对每个划分的区域进行迭代法计算动选取的阈值T1、T2、T3…….最接近、最难以识别的区域,并且通过合适的阈值Tn将其有效的二值化,然后对整个使用Tn来进行全部图像的二值化。

在分区图像中,大于阈值T的像素二值化后显示为白色,小于阈值则表现为黑色,区域中最难以区别、最接近的区域一定阈值Tn一定是{T1、T2、T3…….}中最小的阈值,故。

将减法运算结果分区域,本文将图像分为4块区域,选取4块区域中最小的阈值Tn来进行后续二值化步骤。可以根据准确度的需要或者图像前景和背景的复杂程度来确定划分区域的多少,如果图像复杂,准确度要求高,可在原图像中分为9块或16块区域进行分别求取合适阈值再比较其大小。

接着分别求取四块区域通过自动阈值法(迭代法)所得到的合适的阈值。四个区域分别是左上、右上、左下、右下,所对应的阈为 T1、T2、T3、T4。其数值如图所示,分别为T1=82.767,T2=102.02, T3=85.651,T4=106.3。不难从上述数据看出,T1在{T1、T2、T3…….}中为最小数值,故,这表示T1所对应的左上的区域是本图像中最难识别,前景和背景最相近最复杂的。选取作为全图像的阈值能很好的进行二值化。

通过以为阈值进行二值化后产生的结果如图5(a)所示,通过后续的边缘提取和分割能过从中准确提取二维码数据码范围如图5(b)所示,然后可以在对图像进行中值滤波得到图5(c),图5(b)(c)均可以被二维码识别软件识别。本文只介绍对二维码二值化的一种方法,对后续处理不做过多说明。

4、结语

通过上述方法可以得到良好的二值化效果,能够在图像中有效的去除噪声,消除背景的影响得到清晰的二值化结果。相比传统的Niblack法,Otus算法等方法,本文方法在处理彩色二维码或者与彩色二维码相类似的前景琐碎,背景复杂的图像时,通过首先对图像进行开运算,对图像先腐蚀再膨胀且做背景减法,使得背景模糊化,前景突出化,从而完成第一步图像前景初次提取。然后再通过分区处理,在背景减法结果中找到合适的阈值对其进行二值化,使前景信息(二维码数据码)以较为清晰的形态展现出来。在经过本文处理后还可以对图像再进行后续的平滑去噪,锐度化等等,图像经过处理后还是有少许信息丢失的情况,因为二维码自身有是纠错功能,所以并不影响二维码在软件中的识别,但在今后不论是研究扩展还是应用识别都需要有改进之处。

参考文献

[1]邹雄,刘国栋,曾文平.QR码图像预处理中的滤波研究[J].应用光学(Journal Of Applied called), 2010, 31(3):413-417.

作者简介

靳佳澍(1991-),男,河南开封人,硕士研究生,研究方向为控制工程。