第 11 卷第 2 期
2012 年 4 月
江 南 大 学 学 报( 自 然 科 学 版)
Journal of Jiangnan University( Natural Science Edition)
Vol. 11 No. 2
2012
Apr.
Data Matrix 条码实用定位技术
姚林昌1,2, 白瑞林* 1,2, 李 英1,2, 高保平1,2
(
1. 江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122
究所,江苏 无锡 214122
)
;
2. 江南大学 智能控制研
摘 要: 为满足工业现场对条码实用性的要求,提出了一种 Data Matrix 条码实用定位技术。将条码
2-D 的“L”形边界用 1-D 的距离为角度的函数来表达,根据 Data Matrix 条码边界特性在边界函数中
求取出边界的直线方程以及旋转的角度; 用圆搜索的方法减弱断裂直线对条码边界定位的影响;
联立虚线边直线方程来确定虚线边的交点,达到对条码区域准确定位的目的。将此定位方法用于
条码识别技术中,对像素大小为 640 × 480 的 580 幅图片进行测试,单个条码识别平均时间为
21. 93 ms,识别率为 99. 31% ,达到实用性和可靠性的要求。
关键词: 二维条码; 旋转角度; 边界定位
中图分类号: TP 391. 4 文献标识码: A 文章编号: 1671 - 7147( 2012) 02 - 0137 - 05
Practical Positioning Technology of Data Matrix Bar Code
1. Key Laboratory of Advanced Process Control for Light Industry
Ministry of Education
Jiangnan University
YAO Lin-chang1
2,
,
BAI Rui-lin* 1
2,
,
2,
,
GAO Bao-ping1
,
2
LI Ying1
,
,
,
,
)
,
(
,
;
214122
China
2. Institute of Intelligent Control
Jiangnan University
Wuxi 214122
China
,
Wuxi
Abstract
:
To meet the practical require ments of bar code in industrial site
,
we propose a practical bar code positioning
technology. Using the function of 1-D distance to express the “L”shaped border of 2-D bar code
seeking out the
boundary line equation and the rotation angle according to the boundary features of Data Matrix bar code in the
,
boundary function
reducing the impact caused by fracture line of bar code boundary positioning through the way of
,
,
round search
defining the intersection of dotted line through simultaneous linear equations
purpose of accurate positioning of bar code region. When applying the positioning technology into bar code recognition
testing the 580 images with 640 × 480 as their pixel sizes
we obtain the results that the average time for a single bar
code recognition is 21. 93ms and the recognition rate is 99. 31%
which reach the requirements of practicality
,
,
,
we can achieve the
,
and reliability.
:
Key words
two dimensional barcode
,
angle of rotation
,
boundary markers
Data Matrix、PDF417、QR Code
等是目前国际
的最小尺寸是目前
上常用的二维条码
所有条码中最小的,特别适用于小零件的标识,以
。Data Matrix
],因而被广泛应用于标示集
及直接印刷在实体上[
药品等小件物品以及制造业的流水线生产
成电路
、
过程[
]
2-3
1
。
2011 - 12 - 17
收稿日期:
基金项目: 国家自然科学基金项目(
作者简介: 姚林昌(
* 通信作者: 白瑞林(
等研究
1955—
:
1986—
; 修订日期:
2012 - 01 - 06。
60804013
) ; 江苏省科技成果转换基金项目(
BA2011032
)
。
) ,男,江苏淮安人,检测技术与自动化装置专业硕士研究生
。
) ,男( 蒙古族) ,黑龙江双城人,教授,博士生导师
主要从事智能控制与嵌入式系统
。
。Email
bairuilin@ hotmail. com
831
江 南 大 学 学 报 ( 自 然 科 学 版)
第 11 卷
7
8
]
4-6
”
“
。
BP
目前,
Hough
伪四边形
Data Matrix
],高阿曼等人利用
],杨兆选等人采用基于
的实用定位算法一般是先采
用数学形态学进行处理,再利用凸包算法进行条码
鲁剑采用改进的凸包算法进行
的定位及提取[
筛选,先求取包含条码的凸包再利用
精
确拟合条码的边界[
Gabor
神 经 网 络 的 方 法 对 条码 区 域 进 行 提
滤波 和
变换和最小二乘拟合
取[
由于直线检测算法的计
检测条码的
。
算量大而且费时,凸包算法又相对复杂,
神经网
络则需要很多的训练样本,因此想在条码图片中快
速有效地识别出条码,需要改变条码的定位方法
。
根据工业现场对条码识别实用性的需求,基于
形边界的特点以及条码边界标记函数,文
条码
中针对
条码边界可能存在断裂的情况
设计了实用的定位方法,在条码图片中快速定位出
条码位置,获取条码的信息
Data Matrix
形边界[
“L”
“L”
BP
]
9
。
1 实用 Data Matrix 定位原理
1. 1 旋转角度获取
对
Data Matrix
(
得如图
a
标记函数[
10-11
) 为
]
“L”
1
。
条码的
“L”
形边界,图
形边界进行标记,获
(
形边界
) 为
1
b
“L”
c
2
0
1
) 所示
对获得的
“L”
(
形边界函数进行一次求导,得到
在所求导后的函数中寻
。
的点,再判断该点是否连续就可得到
的导数曲线如图
找导数为
2
个实线边的角度; 在边界标记函数中
个实线边的
角度范围内从中间向两边寻找最大值,最大值对应
的角度即为条码旋转角度
1. 2 边界定位
考虑到在边缘检测时,条码的实线边可能存在
直线的断裂并在区域筛选时被筛选掉,所以仅根据
形边界标记函数来求取条码实线边的端点的位
“L”
置是不可靠的
因而在边缘检测图上沿着条码实线
。
边的方向进行搜索,确保实线边完整的同时达到对
条码位置准确定位的目的
。
“L”
的角度,如图
(
考虑一般情况,
所 示
2
,
yp
) ,
,
yn
P
,与点
由已知重心点
(
xn
,
θ3
θ2
O
N
) ,其中
xp
M
的距离对应为
,
yo
xo
(
。
形边界与水平轴存在一定
) ,
设 点
,
) ,
M
(
(
xo
O
,
,
P
N
,
ρ1
ρ2
) 以及
xm
,
,
ym
yo
对应的角度为
,
ρ3 。
| MO | = ρ1
,
MO
θ1
。
O
,可得方程:
的角度
θ1
解得点
M
{
(
xm - xo
) 2 +
(
ym - yo
) 2 = ρ2
1
ym - y0 = ρ1 sinθ
的坐标:
1
同理可得
(
N
xn
,
yn
{
{
{
xm = xo + ρ1 cosθ1
ym = yo + ρ1 sinθ
) ,
P
,
yp
) :
xp
(
1
xn = xo + ρ2 cosθ2
yn = yo + ρ2 sinθ
2
xp = xo + ρ3 cosθ3
yp = yo + ρ3 sinθ
3
直线
(
,
MP
PN
)
)
y -
y -
的方程为
)
(
(
)
ym - yp
yn - yp
xm - xp
xn - xp
(
x + xmym - 2xmyp + xpyp = 0
x + xnyn - 2xnyo + xpyp = 0
图 1 “L”形边界标记函数及其一次导数
Fig. 1 “L”shaped boundary marking function and
PM
中所示
its
first derivative
因为
Data Matrix
所以构建一个
r = 3、
的最小数据模板是
圆心在直线
个像素,
上的圆,并在
3
。
PM
的一端向前进行搜索,如图
当在圆内存在
2
PM
以直径
5
为单位向前移动搜索
个以上的边界点时,圆心就沿
为了保证
直线
。
不丢失断裂的线段,当在圆的范围内无边界点或者
个时则停止搜索,以最后搜索到
边界点数目少于
的垂足的点为实线边
的另一
边界点到直线
2r
5
MP
PM
第 2 期
姚林昌等: Data Matrix 条码实用定位技术
个端点
点
(
S
xs
) ,同理可得实线边
的另一个端
PN
(
O
,
ys
,
yq
xq
)
。
在
Q
方程,在点
点代入直线
代入直线
R
的斜率可得到直线
的斜率可得到直线
PN
PM
931
的
的
QR
RS
方程
直线
。
(
QR
)
xn - xp
(
)
xm - xp
,
RS
的方程为
y -
(
y -
(
(
yn - yp
)
yn - yp
(
ym - yp
)
ym - yp
,
RS
QR
)
x -
(
xq = 0
(
)
x -
)
yq +
xn - xp
;
xm - xp
)
ys +
xs = 0
方程可以得到虚线边交
图 2 一般情况下条码
Fig. 2 General barcode
联立上述直线
点
(
R
,
yr
xr
) :
(
(
xr =
yr =
) (
) (
xn - xp
xn - xp
) (
xm - xp
(
)
ym - yp
(
)
yq - ys
) (
xn - xp
(
yq -
xn - xp
(
)
yn - yp
-
-
ym - yp
) (
yn - yp
) (
ym - yp
xm - xp
)
(
-
(
) (
(
)
xm - xp
) (
(
) (
yn - yp
)
ys -
yn - yp
xn - xp
xq +
)
xm - xp
) (
)
yn - yp
xm - xp
ym - yp
) (
ym - yp
)
xs
) (
)
xq - xs
{
2 实用速 Data Matrix 识别实现
目存入二维数组中圆心对应的列中,一直搜索到新
的圆内边界点数目不满足要求为止
) 在最后满足要求的圆心的位置内,计算圆内
的垂足位置,取垂足在直线
各个边界点到直线
2
PM
最远值为条码此实线边的另一端点
,记录
点
Q
Q
。
) 采用同样的方法获取条码另一实线边的端
点
S
。
3
坐标
) 联立直线
,
) 根据
Q
4
RS、RQ
,
R
码区域的准确定位
,
S 4
P
5
。
的方程,得到交点
点确定条码的位置,完成条
R。
实际的定位效果如图
(
3
d
) 所示,其中粗线段
标示
Data Matrix
条码的实线边,细线段标示
Data
Matrix
条码的虚线边
。
算子能够比较有效地找到垂直的直线,
算子对图像进行边缘检测,继而
中矩形检测的方法对条码图片进行区
Roberts
PM
坐标
2. 1 角度获取
Roberts
因而采用
采用文献
11
域筛选以及
1
Data Matrix
。
) 根据得到的边界标记曲线,对其进行一次求
“L”
条码的
边界的确定
导,在求导后的函数中寻找导数为
的点
0
。
2
θ1
和
θ2 。
) 求取
条实线边的
) 中导数连续的点,得到
1
为了减少计算量,在边界标记函数中
2
角度
2
个实线边的角度范围内从中间向两边寻找最大值,
最大值对应的角度即为条码旋转角度,效果如图
所示
检测后二值图,(
区域,确定条码
2. 2 边界定位
3
算子边缘
) 为经过区域筛选后定位的条码
) 为原始图片,(
形边界
Roberts
图
。
“L”
) 为
。
3
b
c
a
(
在整个识别算法中,边界定位是最重要的,也
是体现识别算法思想的所在
。
定位算法步骤如下:
) 以直线
1
r = 3
为圆心轨迹,半径
为了保证运行,设置一个
。
搜索边缘
PM
维数
检测图上条码区域
组,一维用来存储圆心位置,另一维用来存储该圆
内的边界点数目
的取整欧式圆盘沿
进行边界点搜索,并将搜索到的边界点数
直线
按照半径
。
r = 3
2
PM
041
江 南 大 学 学 报 ( 自 然 科 学 版)
第 11 卷
的
3. 00 GHz
机上运行,结果如表
频为
从
。
各个部分的运行时间看出,可以满足工业现场的实
时性要求[
所示
PC
1
]
12
。
表 1 识别测试图片运行时间
Tab. 1 Recognition test run time
边界确
“L”
定时间
/ ms
11. 58
13. 86
15. 73
边界定位
时间
/ ms
1. 33
1. 52
1. 91
单幅图片中
条码个数
边缘检测
时间
/ ms
个
个
个
1
2
3
Data Matrix
Data Matrix
Data Matrix
9. 02
9. 43
9. 95
3. 2 识别率测试
利用文中算法对含有
进行识别,测试样本类似于图
码,有的单幅图片中包含
2 ~ 3
幅图片,共
个
Data Matrix
a
条码的图片
(
) 所示的二维条
3
连续测试了
个条码
。
其中,识别
条码
。
识别错误的条
10
个
Data Matrix
1 440
个,识别率为
580
错误个数为
99. 31% 。
码主要为:
条码区域重叠的图片
、5
个拒读条码
个拍摄角度引起的几何畸变图片和
。
若采用背景光源,减少噪声干扰,则不仅能保证条
快速,而且 条 码 的 识 别 率 可 达 到
码定位的准确
Data Matrix
4
1
、
99. 61% 。
4 结 语
针对工业现场条码的需求,提出实用的条码定
的
2-D
将
。
Data Matrix
条码边界转化为
位技术
1-D
的边界函数,进行简单的一次求导获取边界的拐点
位置及条码的旋转角度; 采用圆搜索方法确定实线
边的端点,并利用虚线边直线方程的交点确定虚线
边的交点位置,完成对条码的准确定位
此实用识别算法跳出传统的条码定位思路,仅
仅根据边界的标记曲线来对条码进行准确定位,不
仅计算量小,还提高了
的识别效率; 同
时处理时间能满足工业现场的实时性要求,有效地
验证了该定位方法的实用性
Data Matrix
。
。
图 3 Data Matrix 条码检测过程
Fig. 3 Data Matrix barcode detection process
3 测试结论分析
3. 1 实时性测试
用分辨率为
640 × 480
580
条码图片进行运行时间测试,图
) 为单个条码测试样本,确定好相关参数后,在主
Data Matrix
幅含
(
的工业相机采集的
3
a
参考文献( References) :
[
1
]陈媛媛,施鹏飞
CHEN Yuan-yuan
(
17-18.
in Chinese
]
[
2
]
[
3
Sarjakoski T
]
[
C
:
1-5.
,
service
,
2010
Inst.
Ouaviani E
.
二维条形码的识别及应用[
]
J
.
,
SHI Peng-fei. Image recognition in 2-D bar code
)
测控技术,
2006
(
,
25
[
]
J
) :
17-19.
12
. Measure ment and Control Technology
,
2006
,
25
(
12
) :
,
Kovanen J
,
R¨onneberg M
,
et al. Data matrix technology for linking mobile maps in a web-based multi-channel
/ / Ubiquitous Positioning Indoor Navigation and Location Based Service. Kirkkonummi
Finland
Finish Geodetic
,
:
Pavan A
,
Bottazzi M
,
et al. A common image processing framework for 2D barcode reading
,
1999
[
]
C
/ /
第 2 期
姚林昌等: Data Matrix 条码实用定位技术
141
International Conference on Image Processing and its Applications. Manchester
IEE London
]谢俊喜,唐朝晖,桂卫华
]
基于中值滤波和形态学的条码边缘检测[
J
.
.
微计算机信息,
2008
,
Uk
:
:
,
1999
,
24
(
11
652-655.
) :
41-45.
XIE Jun-xi
,
TANG Zhao-hui
,
GUI Wei-hua. An edge detection approach of bar code based on median filter and mathematical
morphologic method
]蔡文婷,刘志
. Microcomputer Information
]
基于凸包算法的二维条码定位[
J
.
[
]
J
,
(
,
24
) :
41-45.
2008
浙江工业大学学报,
11
(
)
in Chinese
) :
,
36
6
(
CAI Wen-ting
.
,
LIU Zhi. Research on two-dimensional bar code positioning approach based on convex hull algorithm
669-672.
2008
[
]
J
. Journal
of Zhejiang University of Technology
,
2008
,
36
(
6
) :
669-672.
in Chinese
(
)
]陈旭锋,陈德刚
.
,
CHEN De-gang. Study of bar code positioning technology based on interested region detection
基于感兴趣区域检测的条码定位技术研究[
]
.
J
CHEN Xu-feng
,
2009
]
基于改进凸包算法的移动端条码图像定位与校正[
J
.
Engineering
]鲁剑,刘志
,
LIU Zhi. An approach for smart phone barcode positioning and correction based on an improved convex hull algorithm
[
]
J
. Packaging
浙江工业大学学报,
包装工程,
in Chinese
661-665.
27-29.
27-29.
,
38
,
30
,
30
2010
2009
) :
) :
) :
12
12
6
(
(
(
)
(
.
. Journal of Zhejiang University of Technology
,
2010
,
38
(
6
) :
661-665.
in Chinese
(
)
,
LI Li-na
,
YANG Zhao-xuan. Gabor filtering-based scale and rotation invariance feature for 2D barcode region
,
:
/ / International Conference on Computer Application and System Modeling. Taiyuan
IEEE Comuters Society
,
China
LU Jian
[
]
J
]
WANG Meng
[
]
C
detection
:
2010
34-37.
[
4
[
5
[
6
[
7
[
8
[
9
]高阿曼,何卫平,雷蕾,等
,
HE Wei-ping
GAO A-man
(
[
[
10
11
(
19
4532-4535.
) :
]章毓秀
]姚林昌,白瑞林,钱勇,等
)
in Chinese
]
图像工程( 中册) [
M
一种
,
QIAN Yong
YAO Lin-chang
版
. 2
.
.
.
Computers
11
4368-4369.
,
BAI Rui-lin
(
,
2011
,
) :
,
)
(
in Chinese
,
[
]
12
]
数据矩阵码检测定位技术研究[
.
J
.
,
LEI Lei
,
et al. Detection and location of data matrix
计算机工程与设计,
[
]
J
(
,
30
19
) :
4532-4535.
2009
. Computer Engineering and Design
,
2009
,
30
北京: 清华大学出版社,
:
2007
]
条码快速识别方法[
J
.
315-321.
计算机应用,
Data Matrix
,
et al. Quick recognition method of Data Matrix barcode
2011
11
(
,
28
) :
4368-4369.
[
]
J
. Application Research of
LIU Feng
LIU Anan
WANG Meng
et al. Robust and fast localization algorithm for data matrix barcode
/ / International
Conference on Optoelectronics and Image Processing. Haikou
China
IEEE Comuters Society
2010
356-359.
,
:
,
:
[
]
C
( 责任编辑: 杨 勇)