第23期2022年12月无线互联科技
Wireless Internet Technology
No.23December,2022
作者简介:芶小珊(1986 ),女,四川成都人,实验师,硕士;研究方向:图像处理,模式识别,实验室管理㊂
基于数字图像处理技术的条码图像二值化处理
芶小珊
(成都大学计算机学院,四川㊀成都㊀610000)
摘㊀要:条码在线检测系统可对条码图像进行预处理操作,而预处理的前提需要对条码图像进行缺陷检测,完成图像的校正和分割处理㊂文章利用数字图像处理技术中的二值化处理方法,对条码图像进行二值化处理㊂结果显示,采用Ostu 算法进行条码图像的二值化处理,可以更快地实现图像的二值化处理效果㊂关键词:数字图像处理;条码;图像二值化
0㊀引言
㊀㊀对图像进行二值化处理实际上就是将数字图像转化为二值黑白像素的矩阵,并将图像从背景中分离,方便后期的图像边缘提取,为接下来的其他图像处理打下基础㊂大多数情况下,图像上的像素点灰度值设置为0或255,而二值化处理的关键是需要通过合适的阈值实现背景的分割,对图像完成二值化处理后,数据量减少则图像的轮廓逐渐显现,更加方便后期的图像处理㊂1㊀二值化理论
㊀㊀图像的二值化处理最常用的算法是图像阈值分割算法㊂该算法处理方法简单,通过阈值分割后的图形清晰,在所待处理的图像中,将图像中的关键部分进行目标区域划分,将冗余的部分设定为背景区域㊂二值化处理的核心是选择一个最佳阈值,对比像素点与阈值,根据结果对图像进行划分,将其划分为目标与背景区域㊂二值化处理的目的是保证图像在不失真的前提下舍弃冗余信息,其关键点就在于阈值的选择㊂阈值分割实际上就是将图像上所有的像素点进行比较,在像素点上选取一个阈值T ,根据阈值T 判断图像信息,并将图像进行区域划分[1],公式为:
b (i ,j )=1f (i ,j )>T
0f (i ,j )ɤT
{
(1)
直条图和直方图图片
㊀㊀f (i ,j )表示原图像像素;b (i ,j )表示二值化算法处理后的图像;T 表示阈值㊂
当前,图像阈值选取的算法上百种,以最常用的阈值法  Ostu 算法为例进行条码图像的二值化处理㊂
使用手持设备采集到的图像容易出现光照不均的情况,如光线较暗影响整体灰度值;光照不足影响局部灰度值;遮挡容易出现阴影㊂此类现象均属于光照不均,影响图像进行目标和背景区域的划分,影响阈值的选取,一旦选取阈值容易导致分割后出现大量阴影,影响识别过程㊂一种方法是可以采用直方图均衡化㊁线性对比度拉伸等方法增加图像的亮度,但是此方法需要调节比例系数;另一种方法就是采用Ostu 阈值选取,不需要调节参数,缺陷是算法运行时间长容易出现边界效应㊂
1.1㊀Ostu 算法
㊀㊀Ostu 算法又名最大类间方差法[2],其原理为:根据图像的灰度特性对图像进行目标与背景分割,如果类
间方差越大说明分割的背景差别越大;如果背景被划分为前背景,类间方差变小㊂因此,类间方差越大说明错分概率越小㊂取最佳阈值为T ,类间方差值为g ,得到图像总的平均灰度值:
μ=ω0μ0+ω1μ1(2)
㊀㊀ω0表示像素占比;μ0表示平均灰度;ω1表示背景占比;μ1表示平均灰度值㊂
类间方差公式为:
g =ω0(μ0-μ)2+ω1(μ1-μ)2g =ω0ˑω1ˑ(μ0-μ1)2㊀㊀㊀(3)
㊀㊀当g 越大,说明目标与背景之间的像素越大,划分错误的概率越低;g 最大时选取的T 值为最佳分割阈值㊂
1.2㊀图像定位
㊀㊀图像定位即在图像中到目标图像位置并进行提取,在数字图像处理过程中,定位的准确性关系到图像的识别[3]㊂Canny 算子边缘检测与Sobel 算子㊁Roberts 算子相比适用范围更广,主要检测图像周围的灰度像素是否存在屋顶变化,将特征的边缘连接成完整的像素边界㊂利用Canny 算子进行多级边缘检测,检测条码的边缘特征㊂处理步骤为:
首先,计算梯度幅值和方向,利用一阶偏导数的有限差分,表示滤波器的两个一阶偏导,用x 和y 表示图像的像素点,得到图像的幅度与方向,公式为:M (x ,y )=G 2x (x ,y )+G 2y (x ,y )
(4)θ(x ,y )=arctan(G x (x ,y )/G y (x ,y ))(5)
㊀㊀G x (x ,y )和G y (x ,y )表示一阶偏导;M (x ,y )表示边缘强度;θ(x ,y )表示边缘方向角㊂
其次,采用非极大值抑制算法对梯度幅度进行处理,因为图像的边缘需要通过全局梯度获取,需要采取梯度最大的点取得㊂
最后,利用双阈值法检测并连接边缘㊂
条码图像在采集过程中由于人为因素难免会发生变化,如倾斜㊁变形等,得到的条码图像会发生一定角度的倾斜,增加后期条码图像的识别难度㊂因此,对条码进行倾斜校正与定位极为重要㊂图像局部特性出现灰度值突变㊁颜突变以及纹理突变等,都属于图像边缘的正常特征,图像的边缘可以显示出图像的大体轮
廓,图像作为多个像素点组成的个体,用矩阵表示像素点的位置,就是图像的像素矩阵㊂图像的边缘信息获取在图像处理过程中极为重要,二值化处理条码图像时,光照的影响极大,而图像的边缘不易受到光照的影响,二者之间有本质区别㊂因此,进行二值化处理图像时,光照往往影响图像的获取效果㊂在进行图像分析时,图像的边缘检测是获取图像信息的重要基础㊂因此,边缘检测对于条码的解码十分重要[4]㊂
1.3㊀图像校正
㊀㊀Hough变换通过全局特性将边缘像素连接为封闭区域,将原始图像中的曲线转换为参数空间中的峰值,原始图像中的坐标需要满足方程式:y=mx+n,其中,m 表示直线斜率,n表示截距㊂
根据公式可得,图像空间的点对应参数空间的直线,如果图像空间中多出一条直线,则参数空间中的多条直线相交于一点,如图1所示,XY表示图像空间, MN表示参数空间㊂
利用Hough变换中的4条直线,得到图像的倾斜角度,完成旋转图像,根据图像的旋转,以图像中心为原点,顺时针方向进行旋转得到最终图像,如图2所示㊂坐标经过旋转得到,l表示距离,θ表示夹角㊂
2 实验设计
2.1㊀设计思路
㊀㊀在数字图像处理技术的基础上,对二值化算法进行改进,使用改进后的二值化算法进行条码图像处理,并针对校正提出更好的处理算法㊂预处理作为图像识别系统中的重要一环,预处理的过程要遵守如下程序: (1)对条码图像进行灰度化处理;(2)对灰度化处理后的图像进行自适应滤波处理;(3)随后对图像进行二值㊀
图1㊀
图像空间与参数空间点线对偶
图2㊀图像旋转
化处理,利用改进后的算法进行背景区域分离;(4)对
图像进行边缘检测;(5)最后进行透视变换,识别图像
信息㊂整个识别流程如图3所示
图3㊀条码图像识别流程
2.2㊀实验条件
㊀㊀实验条件的好坏对条码的识别过程有很大的影响,采集图像的设备越好,则图像处理的效果越好㊂常见的实验条件中,硬件设备有:计算机(Intel Core i5-3230M CPU㊁Win7系统)㊁华为手机㊁打印机(HP300),软件环境是Visual Studio(2012版本,C语言)㊁Matlab(R2014a),另外还需要采集二维码图像㊁打印样张(A4纸)㊂2.3㊀实验设计
2.3.1㊀去噪
㊀㊀首先对条码图像进行灰度化处理,将采集的图像带入公式(6),使用加权平均法对图像进行灰度化处理[5],根据人眼对光线的敏感度,对分量(红绿蓝)进行加权平均值处理,得到稳定的灰度图像㊂
Gray=0.30R+0.59G+0.11B(6)㊀㊀然后对图像进行自适应滤波噪声处理,将经过灰度化处理的图像设为P,选取窗口f xy=3使用滤波窗口进行处理,对灰度图像P的像素进行排序,判断最大值㊁中间值以及最小值之间的关系是否满足条件,并判断当前窗口中获取的中间值是否噪声点,如果是,增大窗口,直到到非噪声点的值;判断中间值是否噪声点,如果是,根据判断的结果,输出非噪声点的中间值㊂
最后判断图像中的噪声点是否通过自适应中值滤波算法得到的灰度值,经过处理后得到去噪效果更好的条码图像㊂
2.3.2㊀光照不均
㊀㊀对图像进行自适应滤波去噪后,对图像进行二值化处理,因为采集到的图像容易受到光照环境影响,造
成光照不均,影响二维码的识别,传统的Ostu在获取阈值时会出现边界效应,而且获取的时间较久㊂基于此,针对传统的Ostu算法提出一种基于形态学的改进Ostu 算法,该方法结合形态运算进行分子块的Ostu处理㊂首先对图像进行灰度化处理,再进行自适应中值滤波去噪处理,利用改进的方法,对条码进行分块处理;将划分的各个区域进行Ostu阈值分割处理,并根据图像的原分割位置对图像进行组合处理;经过组合的图像在数字形态学闭运算方法下完成边缘细化,消除边界效应,得到最终的图像㊂
改进后的Ostu不会因为分块导致像素出现不连续性,也不会发生边界效应,减少了图像重新组合的时间,改进后的Ostu阈值分割,仍然存在边界效应,需要通过形态学闭运算,对光照不均图像进行处理,对图像进行闭运算处理,得到最终的处理图像,改进后的Ostu 算法会在边界产生干扰点,与形态学闭运算相结合,可以很好地消除边界效应㊂
2.3.3㊀畸变图像
㊀㊀完成光照不均的二值化处理后,需要对畸变图像进行校正,通过Canny算法,对条码图像进行边缘轮廓的提取,再利用Hough检测边缘直线,获取点的位置和坐标㊂畸变图像定位校正步骤为:(1)对经过二值化处理的图像进行Canny算法检测;(2)对二值化处理的图像进行Hough变换,通过图像数组的坐标获取
变换的角度与半径的值;(3)利用Hough变换,在参数空间中到相交的点,检测图像空间的最长直线;(4)检测4条线后获取图像的角点,得到畸变校正后的图像;(5)通过双线性插值运算对校正图像的点做双线性插值运算,得到最终图像㊂
3㊀结果分析
㊀㊀使用手机端拍摄图像样本进行对去噪㊁光照不均㊁
畸变图像等测试,并对图片进行实验结果分析,传统㊀㊀算法与改进后的算法在译码个数与准确率方面的比较结果如表1所示㊂
表1㊀图像识别结果
图像环境
图像数
量/个
传统算法改进后的算法
译码成
功/个
准确率/
%译码成
功/个
准确率/
%去噪20013567.518090
光照不均2001306519095
畸变图像2001105517587.5总计60037562.554590.8㊀㊀根据图像的识别结果,当去噪的污染较大时,利用改进后的算法对二维码进行解码可以得到的图片识别准确率为90%;对于光照不均的图像,利用改进后的算法可以提高识别率,当分辨率较低时,如果背景较为复杂将会影响译码率,因此译码率为90%;当图像发生畸变时,改进后的算法准确率达到87.5%,如果采集到的图像失真严重,无法准确获
取图像位置时,容易造成原图无法识别的情况㊂从识别的结果可以得到,经过改进后的Ostu算法可以在一定程度上提高条码的识别率,具有一定的使用价值㊂
4㊀结语
㊀㊀综上所述,在结合去噪污染㊁光照不均以及畸变图像等图像背景下,基于数字图像处理技术和条码编码技术,对二维码的图像识别问题进行了讨论,其主要目的就是提高条码的识别有效率㊂针对去噪问题,利用加权平均法对图像进行灰度化处理,利用自适应中值滤波解决噪声;由于图像受到光照不均的影响,当图像在进行阈值分割后,容易出现黑块,影响图像的准确定位,利用改进后的Ostu算法,将图像分割为4子块,结合形态学闭运算,消除边界效应;当图像发生畸变时,利用Canny算子与Hough变换对图像进行定位处理㊂最后,对识别的结果进行比较,完成了条码图像的识别㊂
[参考文献]
[1]纪琴琴,黄鲁.一种基于图像处理的一维条码快速定位技术[J].中国科学院大学学报,2019(5):716-720.
[2]耿影.彩直接部件标记的激光着稳定性和图像重构技术研究[D].济南:山东大学,2021.
[3]李波,曹敏,李仕林,等.基于图像处理的封印DataMatrix码验证方法[J].武汉大学学报(工学版),2019(11):1020-1027.
[4]何学智.应用自回归模型的条码图像盲去模糊算法[J].福建电脑,2020(1):1-5.
[5]张逸飞.一种机器视觉的快递条码智能识别系统设计[J].中国战略新兴产业,2020(46):66-68.
(编辑㊀王雪芬) Binary processing of bar code image based on digital image processing technology
Gou Xiaoshan
(School of Computer Science,Chengdu University,Chengdu610000,China)
Abstract:The barcode online detection system can preprocess the barcode image,and the precondition of the preprocessing is to detect the defects of the barcode image,complete the image correction and segmentation.This paper uses the binary processing method of digital image processing technology to process the barcode image.The results show that the binary processing of bar code image using Ostu algorithm can achieve the binary processing effect of image faster.
Key words:digital image processing;bar code;image binarization