- 1 -
中国科技论文在线
二维码印刷缺陷检测算法研究
董成松,周亚建**
作者简介:董成松(1989-),男,硕士,主要研究方向:数字图像处理
通信联系人:周亚建,男,副教授,信息安全
(北京邮电大学计算机学院)
5 摘要:针对二维码印刷过程中的出现的缺陷问题,提出一种二维码印刷缺陷检测算法,并给
出了该算法的工作流程以及用到的数学模型,该算法基于图像处理和机器视觉领域的仿射变
换和 hough变换直线检测,实验结果表明该算法可以有效的检测出二维码印刷中的黑白道缺
陷。
关键词:缺陷检测 仿射变换 机器视觉 hough 变换 10
中图分类号:T P
Defect detecting algorithm of printed two-dimension code
image
Dong chengsong
1
, Zhou Yajian
2
15
(1. Computer Science School,Beijing University of Posts and Telecommunications;
2. Computer of Science School,Beijing University of Posts and Telecommunications)
Abstract: To solve the defect problem during the process of printing of the two-dimension code,
propose a new detecting defect of printing two-dimension code algorithm,and gives the working
process of the algorithm and the mathematical algorithm based on the affine 20
transformation and hough transformation in line detection in image processing and computer
vision field. The experimental results show that the algorithm can effectively detect the black and
white track defects in the two-dimension code image .
Key words: Defect detecting; affine transformation; machine vision; hough transformation
25
0 引言
随着检测技术的发展,基于机器视觉的非接触式表面检测已经成为当前印刷品检测的
主要方式[1]。在印刷过程中不仅要准确的判断条码出现的各种印刷缺陷,还要针对条码符
号特有的质量标准进行检测,并把得到的信息及时反馈给印刷机并调整印刷机,实现对印
刷过程的实时控制和条码印刷质量的在线检测[2]。为与印刷生产和印品质量检测的自动化30
相适应,为得到稳定的条码印刷质量,需要高效稳定的条码缺陷检测算法。本文针对二维
码印刷过程中常见的黑白道缺陷(图 1),研究了能有效检测黑白道缺陷的算法,利用黑
白道方向上像素点的灰度值的特征,设计出了基于直线检测的二维码黑白道缺陷检测算
法。
算法流程: 35
1. 将印刷品的数字图像提取出来,定位二维码,并用仿射变换对二维码图像进行
尺寸和方向进行旋转矫正。
2. ostu 法对二维码图像进行二值化,并用 hough 变换对二值化后的图像进行直线
检测。
3. 对检测到的直线,根据黑白道的各种特点判断检测到的直线是否是在黑白道上40
到的缺陷。
- 2 -
中国科技论文在线
(a)白道缺陷图像 (b)黑道缺陷图像
图 1有黑白道缺陷的二维码图像
1 仿射变换 45
算法原理
如果在机械装置上的物体的位置和旋转角度不能保持恒定,我们必须对物体进行平移和
旋转角度修正。有时由于摄像机和物体间的距离发生了变化,所以导致图像中物体的尺寸发
生了明显的变化。这些情况下需要使用仿射变换对图像进行矫正[3],仿射变化可以用以下等
式描述: 50
c
r
t
t
c
r
aa
aa
c
r
2221
1211
~
~
()
上式中,一个仿射变换包括一个由 2*2 矩阵给定的线性部分和一个平移部分单独列出,为
解决这个问题,在原坐标的基础上引入第三个数值为 1 的坐标,这种表示方法能让我们用简
单的矩阵乘法来表示仿射变换:
11
~
~
333231
232221
131211
c
r
aaa
aaa
aaa
c
r
() 55
注意平移部分由矩阵 A 中的元素 a13和 a23 表示。这种附加了多余的第三个坐标的表示法叫
做齐次坐标。类似的等式()中的含有两个坐标的表示法叫做非齐次坐标。任何仿射变
化都能由以下基本变换构造而来,此处基本变换矩阵的最后一行已被省略。前三个基本变换
无需更多的解释。倾斜是仅让一个轴旋转。
c
r
t
t
10
01
平移 () 60
00
00
c
s
s r
行列方向缩 ()
0cossin
0sincos
以角度 ()
01sin
00cos
以角度 纵轴 ()
- 3 -
中国科技论文在线
仿射变换对二维码图像进行矫正
根据二维码定位结果可以得到二维码轮廓四个顶点的坐标, 固定其中一个点根据二维65
码的尺寸能够得到不发生平移、角度旋转和尺寸变化时四个点的坐标,根据前后四个点的坐
标能计算出仿射变换矩阵,再用矩阵对原图进行仿射变换。用仿射变换矫正后的有二维码黑
白道缺陷的图像如下图 2 所示:
70
(a)白道图像矫正结果 (b)黑道图像矫正结果
图 2 仿射变换后有黑白道的二维码图像
2 二值化以及 hough 变换直线检测
ostu 法对二维码图像二值化 75
由于二维码原本是二值图像,二维码印刷出来再对图像进行采集时二维码图像成了灰度
图像,为了是增强黑白道的特征以及在直线检测中更易检测到直线,在进行直线检测前先对
二维码图像进行二值化。由于在实际生产环境中,由于光照,湿度,喷码设备等条件不一,
采集到的二维码图像之间灰度值差异较大,故采用自适应阈值对二维码图像二值化。最大类
间方差法是一种有效的动态阈值二值化方法[4]。 80
最大类间方差法是由日本学者大津于 1979 年提出的,是一种自适应的阈值确定的方法,
又叫大津法,简称 OTSU。它按图像的灰度特性,将图像分成背景和目标两部分。背景和目
标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分
背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最
小。对于图像 I(x,y),二值化分割阈值记作 T,属于前景的像素点数占整幅图像的比例记为 0w ,85
其平均灰度 0 ;背景像素点数占整幅图像的比例为 1w ,其平均灰度为 1 。图像的总平均灰
度记为 ,类间方差记为g。假设图像的背景较暗,并且图像的大小为 nm * ,图像中像素
的灰度值小于阈值 T 的像素个数记作 0N ,像素灰度大于阈值 T 的像素个数记作 1N ,则有:
nmNw *00 ()
nmNw *11 () 90
nmNN *10 ()
110 ww ()
1100 ** ww ()
2)^(2)^(* 10*100 wwg ()
- 4 -
中国科技论文在线
将式(5)代入式(6),得到等价公式: 95
2)^(** 1010 wwg ()
采用遍历的方法得到使类间方差最大的阈值 T,根据所求的阈值对图像进行二值化分割。
hough 变换进行直线检测
二维码黑白道的产生由于印刷过程中喷头缺墨,堵墨等原因造成,印刷过程纸的前进方100
向很喷头的方向是垂直的故黑白道缺陷都是平行于纸的前进方向,在二维码图像中就是一道
道黑白道直线,故直线检测法对还摆到缺陷进行检测。
Hough变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法。
在预先知道区域形状的条件下,利用Hough变换可以方便的得到边界曲线而将不连续的像素
边缘点连接起来[5]。故利用Hough变换可以直接检测某些已知形状的目标,如直线。 105
Hough变换的基本思想是点线的对偶性。一方面,图像空间中共线的点对应在参数空间里
相交的线;另一方面,在参数空间中相交于同一个点的所有直线在图像空间里都有共线的点与
之对应。因此Hough变换把在图像空间中的直线检测问题转换到参数空间中对点的检测问题,
通过在参数空间里进行简单的累加统计完成检测任务。如果参数空间中使用直线方程,当图
像空间直线斜率为无穷大时,会使累加器尺寸和变很大,从而使计算复杂度过大。为解决这一110
问题,采用直线极坐标方程,变换方程如公式()所示。
sincos yx ()
根据这个方程,原图像空间中的点对应新参数空间中的一条正弦曲线,即点- 正弦曲线对偶。
检测直线的具体过程就是让 取遍可能的值,然后计算 的值,再根据 和 的值对累加数
组累加,从而得到共线点的个数。下面介绍 和 取值范围的确定。设被检测的直线在第一115
象限,右上角坐标为( m, n) ,则第一象限中直线的位置情况如图3所示。
图3 第一象限中直线的位置情况
由图可见,当直线从与x轴重合处逆时针旋转时, 的值开始由0°增大,直到180°,
所以的取值范围为0°~180°。由直线极坐标方程可120
知: )sin(22 yx ,其中 221 /sin yxx ,所以当且仅当x
和y都达到最大且 90 时(根据<来调整的值) ,
22
max nm|||| ,即 取值范围-
22 nm ~ 22 nm 。由 、 的取
值范围和它们的分辨率就可以确定累加器的大小,从而检测直线。
利用 Hough 变换检测图像中直线的一般步骤应该首先对图像进行二值化,然后进行边缘125
检测,接着对边缘检测的结果作 Hough 变换,最后得到直线检测结果。
对 中处理得到的结果图像用 ostu 进行二值化并用 Hough 变换进行直线检测得到以
- 5 -
中国科技论文在线
下图 4 处理结果:
130
(a)白道图像 hough 直线检测结果 (b)黑道图像 hough 直线检测结果
图 4hough 变换直线检测结果
3 对直线检测结果进行筛选判断 135
在 中已经将二维码图像中的直线检测了出来,这些直线有可能是黑白道缺陷有可能
不是黑白道缺陷,这需要根据黑白道缺陷的特征来进行筛选。本文用到的特征直线长度,直
线方向,直线位置,直线方向上像素点特征。其中直线长度和矫正后的二维码的宽度相差不
大。由于用仿射变换进行了矫正直线方向是竖直方向的。直线位置应该在二维码区域中。黑
白道缺陷所在的直线方向上的像素点二值化后应该是全 0 或者全 1,考虑到印刷、图像采集、140
图像预处理和图像二值化过程中造成的误差,黑白道缺陷所在的直线方向上的像素点二值化
为 0 或者为 1 的点所占的比重很大,经多次测试,并考虑到二维码的特征[6],本文选取 95%
为阈值。根据以上特征得到的结果图像如图 5 和图 6:
145
(a)白道缺陷原图 (b)白道缺陷检测结果
图 5 白道原图以及检测结果图
- 6 -
中国科技论文在线
(a)黑道缺陷原图 (b)黑道缺陷检测结果 150
图 6 黑道原图以及检测结果图
根据以上实验结果本文提出的算法能有效的检测出二维码印刷过程中出现的黑白道缺
陷。
4 黑白道检测算法测试
黑白道检测算法准确性测试 155
测试方法:选取一定数量的测试样本其中有合格的图像,有存在黑道的图像和存在白道
的图像测试能是否能报缺陷并定位到黑道白道的位置以及是否存在误报。
测试数据:是否缺陷以及缺陷图像的黑道白道的位置是否准确以及黑道白道的数量。测
试数据如表 1 所示。
表 1 黑白道准确性测试数据表 160
编号
检测到的缺陷
类型
实际缺陷类型
检测到的黑
白道数
实际黑道白道数 是否有误差
1 黑道 黑道 2 2 否
2 白道 白道 2 2 否
3 黑道 黑道 2 2 否
4 黑道 黑道 1 2 是
5 黑道 黑道 1 1 否
6 黑道 黑道 3 3 否
7 黑道 黑道 5 5 否
8 白道 白道 1 1 否
9 白道 白道 3 3 否
10 白道 白道 5 5 否
测试结论:在所给的样本图像上进行测试时,能有效的检测出黑道和白道缺陷。
黑白道检测算法效率测试
测试方法:对多幅测试图像进行多次测试,统计是否有黑道白道缺陷以及检测所需要的
时间。
测试数据:多幅测试图像多次测试的时间,以及是否有黑道白道缺陷。测试数据如表 2 所示。165
- 7 -
中国科技论文在线
表 2 黑白道检测效率测试数据表格
图像编号
是否黑道白
道缺陷
第一次时间
(ms)
第二次时间
(ms)
第三次时间
(ms)
平均时间
1 黑道
2 黑道
3 黑道
4 否
5 否
6 白道
7 白道
8 黑道
9 黑道
10 黑道 51 50
平均时间
测试结论:在本章所用的测试环境下,黑白道缺陷检测算法平均时间为 ,能满
足实际检测过程中对检测效率的需求。
5 结论
本文通过分析印刷二维码黑白道缺陷的特征,提出基于直线检测的二维码黑白道缺陷检170
测算法。首先使用仿射变换在方向和尺寸上对缺陷原图进行矫正,再用大津法对矫正后的图
像进行二值化,然后用 hough 变换对二值化后的图像进行直线检测,最后根据黑白道缺陷的
特征判断检测到的直线是否为黑白道缺陷。本文算法不仅能准确检测出印刷二维码出现的黑
白道缺陷,而且处理速度快,能够实现对二维码黑白道印刷缺陷的自动化检测。
[参考文献] (References)175
[1] 陈灿,马英. 国内外印刷品质量检测的发展与现状[J]. 广东印刷,2011(4):35-36
[2] 李静.基于线扫描 CCD 的两种印刷品质量检测系统的研究与开发[D].天津工业大学,2008.
[3] 张楠.基于数学形态学和 RANSAC 的文本图像变形矫正[D].哈尔滨工业大学,2009.
[4] 张辉,张道勇,何最红等.灰度等级处理中的 OSTU 动态阈值法研究[J].传感器世界,2008,14(7):24-27. 180
[5] 段汝娇 , 赵伟 , 黄松岭等 . 一种基于改进 Hough 变换的直线快速检测算法 [J]. 仪器仪表学
报,2010,31(12):2774-2780.
[6] 王蓝颖(编译).二维码的应用与印制[J].印刷杂志,2011,(8):13-16.