《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于SUSAN检测算子的二维条码定位方法
基于SUSAN检测算子的二维条码定位方法
来源:微型机与应用2012年第9期
周 乐
(西安建筑科技大学 信息与控制工程学院,陕西 西安 710055)
摘要: 以二维条码Data Matrix在实际应用中的图像为例,采用一种基于图像最优阈值的SUSAN检测算子,将复杂背景图像中的二维条码图像区域检测出来。使用这种方法可以在最大程度上忽略复杂背景的干扰,实现二维条码的快速定位。
Abstract:
Key words :

摘  要:二维条码Data Matrix在实际应用中的图像为例,采用一种基于图像最优阈值SUSAN检测算子,将复杂背景图像中的二维条码图像区域检测出来。使用这种方法可以在最大程度上忽略复杂背景的干扰,实现二维条码的快速定位。
关键词: 二维条码;Data Matrix;最优阈值;SUSAN检测算子

 自动化数据采集技术是信息采集和处理的关键技术[1],条码技术在自动化数据采集中占重要地位。二维条码是在传统的一维条码基础上发展起来的。传统的一维条码由于受信息容量的限制必须依赖数据库,而二维条码的信息密度高、信息容量大,可以不依赖于数据库。二维条码不仅可以将数字、字符等信息存入编码,而且可以将人脸、指纹和虹膜等图像信息存入条码,因此二维条码在证件识读、人事管理、运输包装、POS系统和电子数据交换等方面得到广泛的应用[2]。此外,传统的一维条码只有校验功能,没有纠错能力,而二维条码具有很强的错误校验和错误纠正功能,即使条码符号有污点、残缺,也能被正确识别出。二维条码的识别技术是其应用的关键技术。由于二维条码密度远大于一维条码,其识别技术不同于一维条码,如何快速准确地识别条码成为了一个值得研究的问题。
Data Matrix原名Data Code,由美国国际资料公司于1989年发明,它是一种矩阵式二维条码[3]。Data Matrix的最小尺寸是目前所有条码中最小的,尤其适合用于小零件的标识以及直接印刷在实体上。本文以Data Matrix条码为例,研究了基于SUSAN检测算子的二维条码识别算法。
1 Data Matrix图形结构
 Data Matrix的图形结构如图1所示。Data Matrix是矩阵式二维条形码的一种,它以一个矩形图案表示数据信息,通常,黑色模块表示“1”,白色模块表示“0”,或者使用相反的表示方法。另外,在实际应用中,可以采用不同的印制方式(如图1中的圆形打点)。Data Matrix图形可分为定位图形(寻边图形)和数据区两部分。其中,定位图形由两条实线边组成的“L”形和与其相对的两条虚线边组成;数据区是由1、0模块组成的矩形。基于Data Matrix定位图形的特性,将其与背景图形区别开来,并对“L”形的顶点进行精确定位。

2 Data Matrix图形区域定位
 在现实条件下拍摄到的二维条码图像往往受光线的明暗程度不同,粘贴、印刷的位置不当,或被遮盖、污染、出现褶皱等各种外界因素的干扰时,均会直接影响条码的识读效果。因此首先需要从复杂的图像背景中初步分离出条码区域。图2所示为基于SUSAN检测算子对Data Matrix图形区域初步定位流程。


3 Data Matrix图形区域定位
3.1 图像采集与预处理

 二维条形码的获取由光学照相或者扫描设备完成。本实验使用一个普通的带有摄像头的手机(最大分辨率是300×300),在不配备特殊光源的情况下获得二维条形码。最终获得分辨率为300×300、尺寸为1 600×1 200、位深度为24的RGB彩色图像。采用自然光照是考虑到降低成本以及适应恶劣的环境的需要。
原始图像比较大,如果使用原始图像直接来做实验,处理速度极为缓慢且耗时。将原始图像进行预处理,转换为分辨率为72×72、尺寸为178×178、位深度为8的256级灰度图像。
3.2 图像分割
 经过预处理得到的灰度图像除了包含条形码之外还包含其他的复杂背景。由于Data Matrix符号的特征是由一个个小方块构成的四边形,这一特征将它与其他图形区别开来,可以清楚地看到条码区域具有清晰的边缘特征,因此首先采用SUSAN算子对整幅图像进行边缘检测。
 本文使用SUSAN算子的37个像素的模板,检测时将模板依次放在图像中每个点的位置,在每个位置,将模板内每个像素的灰度值与核的灰度值进行比较,这时需要阈值来确定此处的游程值,试验中选取的是灰度直方图的极小点和最优阈值两种阈值。图3(a)是选用灰度直方图的极小点作为阈值时的SUSAN检测后的图像,可以看到,二维条码区域粗略地被检测出来,但是对于背景中略大的文字噪声却很难滤除掉;图3(b)是选取最优阈值时SUSAN检测后的图像,可以看到,条码区域的边缘被清晰地检测出来,并且可以很好地滤除掉背景中的文字噪声。

 

 

 对预处理后的灰度图像经过选用最优阈值的SUSAN算子检测边缘,可以观察得出, Data Matrix符号的边缘特征非常复杂和曲折,与其他仅具有简单边缘的图形大不相同,因此其边缘可以明确地分辨出来,同时对于背景中的噪声有很好的滤除作用。
3.3 边缘图像投影[5]
 二维条形码的色块组合在水平和垂直两个方向都含有信息。将得到的边缘图像分别在水平和垂直方向上投影,突出灰度变化频繁的区域,获得条形码图像的粗定位。
3.4 条码区域最终定位
 将得到的边缘图像在水平和垂直方向上投影,即分别统计第m行(m<图像高度)和第n列(n<图像宽度)上的灰度值,令统计值分别为Sm和Sn。由于Data Matrix图像复杂的边缘曲线在一定坐标范围内(m1<m<m2,n1<n<n2)表现出较小且变化频繁的投影值,因此将水平与垂直方向的区域(区域[(m1,n1),(m1,n2),(m2,n1),(m2,n2)])结合起来,便可以初步确定Data Matrix图像在整个图像中的大致位置。为了避免计算误差,可以考虑在区域两端留出一定量,对得到的区域进行几何裁剪,将Data Matrix图像提取出来。条码区域最终定位图如图4所示。

 通过对图像识别的研究,实现了实际应用中二维条形码Data Matrix的初步提取。对实际图片进行了实验,利用本文提出的识别算法能有效地去除背景和噪声的干扰,达到快速、准确识别的目的。
参考文献
[1] SRIRAM T, RAO V K. Applications of barcode technology in automated storage&retrieval systems[C]. IECON Proceedings, 1996(1):5-10.
[2] 张铎,王耀球.条码技术与电子数据交换[M].北京:中国铁道出版社,1998.
[3] 矫云起,张成海.二维条码技术[M].北京:中国物价出版社,1996.
[4] 章毓晋.图像工程(第二版)[M].北京:清华大学出版社,2007.
[5] 陈媛媛,施鹏飞.二维条形码的识别及应用[J].测控技术,2006,25(12).

此内容为AET网站原创,未经授权禁止转载。