复杂背景下二维条码图像的研究识别复杂背景下二维条码图像的研究识别目录摘要 (I)ABSTRACT (II)引言 (1)1 绪论 (2)1.1课题研究背景和意义 (2)1.2国内外研究现状 (3)1.3本课题研究内容 (4)2 图像的预处理 (5)2.1图像灰度化 (5)2.2图像滤波 (7)2.2.1 图像滤波技术 (7)2.2.2 高斯滤波 (7)2.2.2 中值滤波 (8)2.3二值化阈值选取 (9)2.3.1 直方图的峰谷法 (9)2.3.2 一维最大熵法 (10)2.3.3 Otsu法 (11)2.3.4 阈值算法的选取 (13)2.4数学形态学操作 (13)2.4.1 腐蚀 (13)2.4.2 膨胀 (14)2.4.3 开操作 (15)2.4.4 闭操作 (15)2.5最大连通分量提取 (15)2.6本章小结 (16)3 DM码定位 (16)3.1边缘检测 (17)3.1.1 Roberts算子 (17)3.1.2 Sobel算子 (17)3.1.3 log算子 (18)3.1.4 边缘检测算子的选取 (18)3.2H OUGH变换线段检测 (19)3.2.1 Hough变换检测直线原理 (19)3.2.2 Matlab 中的Hough变换 (20)3.3图像校正 (20)3.3.1 倾角计算 (20)3.3.2 图像旋转 (22)3.3.3 精确裁剪DM条码 (22)3.4本章小结 (23)4 MATLAB实验结果分析 (24)4.1DM码识别 (24)4.2DM码解码 (31)4.3实验结果分析 (32)4.4本章小结 (33)5 结论与展望 (34)致谢 (35)参考文献 (36)摘要Data Matrix二维条码(DM码)的外观是一个由许多小方格所组成的正方形或长方形符号,其资讯的储存是以浅色与深色方格的排列组合,以二位元码(Binary-code)方式来编码,故电脑可直接读取其资料内容,而不需要如传统一维条码的符号对映表(Character Look-up Table)。
然而在实际的DM码采集工作中,因为各种因素的综合作用,采集到的图像质量并不如预期,而且不光只包含有DM码图案,还会混入其他各种背景,所以DM码图案所在图像有个比较复杂的背景。
针对以上问题,本文讨论了复杂背景下二维条码的识别,根据Data Matrix二维条码的特征,形成一个解决方案:使用图像滤波技术去除原图像噪声,Otsu算法对图像进行二值化,利用数学形态学对图像进行膨胀、腐蚀操作,然后确定最大连通区域,把条码图案分割出来,其次根据Hough变换检测出图像中的两条最长线段,也就是‘L’型特征图案,最后使用‘L’型特征图案,计算出条码的倾斜角度,对条码图像进行旋转,使其达到标准位置。
通过对多个有复杂背景的DM码的实验,该方案能够从复杂背景中分割出DM 条码区域,并且能够进行旋转校正。
关键词:Data Matrix;Otsu算法;Hough变换;图像旋转ABSTRACTThe appearance of a two-dimensional bar code is a square or rectangular symbol which made up of many small squares, the information is stored in light and dark colored squares in some way, the computer can read the data directly in the two-dimensional code, without the need for the corresponding table of unified dimensional bar code symbol.However, in the practice of DM code acquisition , because of various factors, the quality of image collected is not as good as expected ,it not only contains the DM code pattern, but also sneaks into a various of backgrounds, so the image of DM code pattern has a complicated background.In view of the above problems, this paper discusses the recognition of 2D barcodein complex background, according to the characteristics of two-dimensional bar code, the solution is as follows :firstly, wipe off the original image noise using Gauss filtering algorithm, binary images via Otsu algorithm, expand and deprive the images using mathematical morphology erosion operation, and then determine the maximum connected region, segment barcode pattern, secondly, test the two longest lines of images based on the Hough transform , that is the characteristics of "L" pattern, finally ,calculate the tilt angle of bar code using “L” type pattern , achieve the standard position via the rotation of bar code.Through the experiment of many complex backgrounds of DM codes, the scheme can be segmented the DM bar code regions from complex background, and can achieve the standard position via rotation and correctionKeywords: Data Matrix; Otsu algorithm; Hough transform; image rotation现如今二维条码技术已经得到了广泛的应用,二维条码中的Data Matrix二维条码(简称DM码)更是如此,所以本文选取DM码作为研究对象。
DM码通常会被印表机印在不同材质表面上。
由于DM码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所,例如印在暴露于高热、化学清洁剂、机械剥蚀等特殊环境的零件上。
所以识别研究复杂背景中二维条码图像的课题是非常有必要的。
本论文对复杂背景中二维条码的识别是在matlab7.1软件平台上完成的。
matlab软件的功能很强大,特别是在矩阵运算方面,并且matlab读取的图像信息也是保存在矩阵之中。
matlab的图像处理工具箱对图像处理很有帮助,比如本文所用到的一些方法,动态阈值查找的otsu算法,最大连通区域的确定以及用Hough 变换查找最长线段等等,大大的方便了处理的过程。
针对复杂背景中DM码图像识别的过程,本文有一个完整而详细的论述。
在图像识别处理的每个环节都会分析可能会用到的方法,并且比较各个方法的优缺点,根据原图像特性找到最适方法。
1.1 课题研究背景和意义二维码技术是在一维码技术基础上发展起来的,其在我国的研究还处于起步阶段。
相比较一维码而言,在同样的面积上二维码可包含的信息量比一维码多几十倍,而且具有更可靠、抗损坏(破损25%仍可识读)的特色,同时用条码标签打印机打在纸上有100%的对比度,识读效果非常好,甚至可达到一秒钟读取50个二维码的速度。
正是由于二维码所独具的以上优势,国内对二维条码这一新技术的需求与日俱增。
正如大家所知,目前国际上最常用的DATAMATRIX二维码由于用点阵的方法组成数据,可在一个数据矩阵里包含2300个数据信息,所以十年前一经发表就引起全球轰动,但是十年来它的应用和推广却进展缓慢,究其原因,正是因为DATAMATRIX二维码的应用需跨越二个技术障碍:首先,如何高效、准确的将其打印出来;其次,如何高效、准确的识读它。
为了解决这两个关键问题,作为一种智能图像识别技术,机器视觉由此显示出其独一无二的重要性。
尽管今天的二维码技术已经有了许多根本性的突破,但在打刻和识读方面存在的技术局限性也正是二维码技术发展的瓶颈之所在。
金属有黑色金属及有色金属二种,有色金属又分黄色、白色、银灰色等,同时,金属的表面分为加工面及毛坯面,而加工面也分为多种加工等级。
在这种复杂的加工条件之下,对打刻就提出了非常个性化的要求,打刻机不仅要求质量稳定,而且需要逐个调整打刻参数。
根据美国条码管理委员会(AIM)及美国汽车协会(AIAG)的规定,直接金属零部件打刻二维码后必须评定打刻的质量级别,分别为A、B、C、D、E、F或1、2、3、4、5、6,只有A、B、C 级的质量才能流到下一步工序,正是上述看似严苛的要求才保证了加工工序的识读效率,因为在加工过程中,工件表面会遇到机油、冷却水甚至划伤,部分磨损又会增加识读的难度。
目前,在白纸上用条码标签打印机打出DATAMATRIX二维码后再进行识读,已经不存在任何技术问题了,同时,在光洁的金属表面用激光或浮针也能获得优良的品质。
但是,遇到毛坯或深色金属时,用激光或浮针打出的DATAMATRIX二维码是人眼极难识别的,此时就必须借助智能图像识别技术,也就是机器视觉技术。
也正因此,国外几家著名的条码扫描器公司及光学识别设备公司都分别推出了自己的机器视觉产品,例如Motorola-Symbol 公司、Microscan公司、 Cognex公司以及 Datalogic公司等。
目前一些条码扫描设备都被外国的企业垄断着,而且价格昂贵。
二维码的扫描识别都是基于智能图像识别技术,而机器视觉技术目前正处于发展阶段,具有一定的缺陷。