资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
. 学校编码:10384 分类号密级学号:X2007222024 UDC工 程 硕 士 论 文多条码视频图像识别设计与实现Multi BarCode Reorganization: The Best Choice for指导教师:专 业名 称:电子信息与工程论文提交日期:论文答辩时间:学位授予日期:答辩委员会主席:评阅人:2011 年月多条码视频图像识别设计与实现(稿)X2007222024叶晖摘要: 本文对多条码的图像识别技术进行研究。以Code39码为例,使用USB摄像机对多条码图像进行连续摄像和识别。研究简化Randon变换算法。关键字: 条码图像识别 OPENCV Randon变换引言当今物联网RFID与传感网等新技术兴起,但条码技术以其低廉的成本优势,在商品识别、物品管理等自动化数据采集中依然得到了广泛的应用。条码标签已经由传统的一维条码发展出二维条码、隐形条码等,条码扫描技术也由专用红外CCD、激光扫描发展到手机图像识别等多种方式,条码使用更方便、更快捷。在现有的条码图像识别技术中,主要是针对单个一维条码或二维条码进行图像分割与识别,本文主要论述对多组一维条码图像进行条码识别,用于图书馆纸质图书资料的辅助管理和自动查阅。适当改变识别算法也能够适应二维条码图像识别,与手机云计算条码识别相配合,实现校园设备管理自动化。作为条码图像识别的工程应用基础案例,本文论述了图像识别过程中的问题和解决方法,注重研究更简便的图像识别算法和使用较廉价通用的设备实现,如采用USB摄像头、PC和开源软件,并可以方便地移植到较廉价的DSP等硬件系统中。一、相关的条码与图像处理技术概述一维条码是最早使用的条码方式,编码方式主要有EAN-13、Code39、Code128、UPC码等等。二维条码是建立在计算机图像识别、组合编码等基础上的新型条码,如DATA Matrix、QR码等等,在小的标签面积里存入更多的信息,可用于细小零配件的条码标签。本文中以Code39条码作为图书标签,粘贴于书脊以便图书标签摄像识别。一维条码的优点是可以在厚薄不一的书脊上粘贴而不影响条码信息的完整性,书本正或倒置摆放不影响条码信息的读取。再次,即使图像识别算法对条码扫描方向角有微小的偏差,只要扫描线覆盖条码头尾,都不影响条码的判读。当前市场上较廉价的640*480分辨率USB摄像头即可实现多组条码图像信息的摄像获取。通过软件识别视频图像中书脊上的条码,不需要将书本从书架上取出即可获得图书的位置和排列顺序,达到辅助图书管理的目的。若条码识别设备与自动伺服机构相组合,能够获得自动图书查阅功能。图1:一维条码 Code39 二维条码Data Matrix QR码Code39条码是一种可供使用者双向扫描的分散式条码,由起始安全空间、起始码、资料码、检查码、终止安全空间与终止码所构成。条码的长度没有限制,资料码可表示的信息包含有:09的数字,AZ的英文字母,以与“”、“”、“”、“”、“”、“”、“”等特殊符号,再加上空白字元“ ”,共计44组编码,并可组合出128个ASCII CODE的字符符号。Code39条码的起始码和终止码必须固定为“”字符。Code39条码具有自我检查能力,所以检查码不一定设定。Code39条码的缺点是比二维条码占用的空间较大,不适合用于体积小的零配件标签,但好在图书上有足够的位置粘贴。Code39条码的逻辑编码有“粗黑”、“细黑”、“粗白”、“细白”四种,分别表示逻辑形态是“11”、“1”、“00”、“0”。数字和大写英文字母每个字符用12个逻辑位的固定编码表示,头尾逻辑位必须为“1”,如字符“”的逻辑编码为“1”。两个字符之间插入一个逻辑位“0”,Code39条码的起始字符和终止字符必须固定为“”字符。这样的编码方式非常方便进行扫描判读和错误校验。本文使用开源的计算机视觉库OpenCV和C+对条码图像进行快速处理和识别,在电脑中处理连续的摄像数据。每隔一段时间截取一帧数字图像进行条码识别,每帧图像中包含了多个条码,通过重复多次条码图像识别,提高条码识别率,并且获得多个条码间的排列顺序。通过条码可查出对应的图书信息和图书排列顺序。二、条码图像判别条码图像识别可以同时获得多个条码信息,但比传统激光扫描单个条码的方式复杂:条码图像质量还受到照片感光程度、摄像镜头畸变、图像噪声等诸多因素的影响,条码在图像中的位置与水平线可能存在偏转角,要提高条码识别率,需要适合的算法解决以上这些问题。图2: 图书条码摄像彩色图 1、 条码图像的旋转1) 二维旋转:在一帧图像中,条码方向与图像水平线存在偏转角,我们需要在图像中找出每个条码的扫描方向角。2) 三维旋转:当摄像机镜头方向与条码图像平面不垂直时,获得的图像存在三维旋转畸变。任何维的旋转可以表述为坐标向量与适宜尺寸方阵的乘积。在三维空间中,旋转能被分解为绕各自坐标的二维旋转,旋转轴的度量保持不变。设绕x、y和z轴旋转角度为、和,总的旋转矩阵R是三个坐标轴的二维旋转矩阵Rx()、Ry()和Rz()的乘积,其中:Rx(): Ry(): Rz():当摄像机镜头方向与条码图像平面相垂直时,围绕z轴,条码方向与图像水平线存在偏转角。坐标变换数学模型可简化成二维矩阵,写为:图2为简化数字图像处理运算,对于、小围变化,绕x、y轴旋转产生的轻微图像畸变基本不影响条码判读而忽略不计。即实际应用时,摄像机镜头方向尽可能与条码图像平面相垂直。为进一步简化数字图像处理运算,不对整幅数字图像进行旋转纠正,而是根据一维条码图像的特征,按照上式生成旋转扫描栅,对条码图像的条纹线段进行概率统计,进而查找条形码的偏转角。这种算法适用于一维条码识别,对于二维条码图像识别则需要适当调整算法。利用OpenCV中许多现成的函数进行图像处理可以加快程序调试进度,例如:cvInitLineIterator()函数用于抽取图像中两点之间的所有像素进行处理扫描栅,极节约条码图像识别的运算量,降低运算成本。图4:红色分量图与旋转扫描栅2、 条码图像处理从摄像机截取的彩色数字图像存在感光均匀程度、图像噪声等因素,影响条码判读。为了降低这些因素的影响,分别采用以下方法提高条码识别的成功率。1) 彩色图像中的红色分量转化为灰度图。关注黑白两色条码,要降低背景中的其他颜色的影响,经试验对比,彩色图像中的RGB分量中的红色分量最能降低背景影响效果。也比彩色图像直接转化为灰度图的效果好,运算量最小。这一点类似条码枪产品中使用红色激光或红色光波段CCD扫描。若有适宜的摄像机和滤光片等硬件设备支持,能够进一步找出最正确的红色光波段降低图像背景影响,提高条码识别率。2) 降低图像感光均匀程度对条码判读的影响:对图像中的像素做出最后的条码识别,本案采用自适应阈值对灰度图像进行二值化处理。普通摄像图像不比条码枪使用稳定单一的扫描光源,特别是图像中还包含多个条码时,条码图像感光均匀程度不一致使得条码识别率很低。阈值的选取也直接影响条码识别率。自适应阈值是改进的阈值技术,阈值本身是一个变量。通过计算像素点周围的bb区域的加权平均,减去常数c获得自适应阈值。选择适当的b、c参数进行自适应阈值图象处理能够有效地降低图像感光不均匀对二值化图像产生不良影响。图5:固定阈值为130二值化图片 (对比) 图6:自适应阈值二值化图片(b=15)3、 条码条纹方向的判定条码图像识别中需要确定图像中的条纹方向,非常适合的算法是进行Randon变换。图像的Radon 变换是用来计算一个图像在不同方向的直线上的投影12。按图2的逆向旋转公式:Randon变换表示为图像在偏转的X轴上的投影,即在偏转的Y轴对f(x,y)进行积分。在计算机上实现一维条码图像的Randon变换时,为降低计算量,可以不需要对整个二值图像进行旋转和积分,而采用不同角度的扫描栅(以下把它称为扫描光栅,非真的光栅),抽取偏转角度的扫描光栅线中的所有像素进行黑线条查找,在扫描出黑线的结果投影到X轴上,即在光栅X轴上对y作线积分累积成为。扫描光栅与条码条纹相干涉,很显然,当扫描光栅线角度与一维条码的黑线条纹相一致时,将出现很明显的类似方波波峰。即条码条纹角度为当导数为最大时的光栅角度。事实上我们甚至不需要计算连续的值,仅需统计光栅中黑线的起点和终点数量,并分段累积这些起点和终点在X轴的投影数量,即等同于的导数。对不同的光栅进行扫描,选出有最大的导数值的为条码方向角,如图4、图7所示。条码识别的扫描线为。4、 多条码处理图像分割在一幅图书条码图像中有多个同向排列的条码,这些条码之间可能缺少白边分界。对每个条码图像的分割带来难处。如图7所示,不单单是把条码图像从复杂的背景中分离出来,还需要区分出邻近的条码。在找到初步的条码条纹方向后,可以使用逐行扫描的方式完成条码的判读。事实上,有较薄的书本夹在中间时,往往出现漏扫。当图像中各个条码方向不一致时,为各个条码作不同的扫描角度细微调整。对Randon变换算法进行适当的调整,对条码栅叠加投影的导数进行分段处理,最大值的光栅角度作为该段条码的方向。其中二阶导数可以使用卷积模板进行运算,分割条码。由于条码头尾端必须有白边与背景分离,在扫描线中比较容易找出这些白边,并将条码图像从背景中分割出来。图7:条码区域分割与修正 图像下方为Randon变换离散数列5、 摄像机标定真实世界通过摄像机透镜后形成的图像可能带来畸变,如透镜制造不完美或感光片的安装偏差引起成像的径向畸变和切向畸变。高端摄象机有物理矫正图像畸变的透镜系统,不需要进行标定和矫正,而廉价的质量差的摄像机进行近距离拍照,畸变会更加明显,影响到条码图像识别。通过OpenCV的cvCalibrateCamera2()函数来实现摄像机棋盘图像标定和图像畸变矫正,恢复接近理想的摄像机成像模型:其中,x是图象面的物体尺寸,负号表示倒像。f 是透镜焦距,X是真实物体平面尺寸,Z是透镜到物体的距离。OpenCV对图像畸变与矫正的数学原理是:对于二维平面的点Q映射到成像面上的点q的齐次坐标,描述为矩阵表示:,则 其中任意尺度比例参数s(单位像素/毫米),摄像机焦距矩阵M,矩阵表示: 其中感光片偏移cx、cy 。焦距fx、fy(单位像素)。存在图像旋转和平移以与畸变的图像坐标,引入图像旋转矩阵R,其中r1、r2为正交的旋转向量和图像平移d,则Q映射为q的单应性算式为: ,定义成象单应性矩阵H=sMR,则前式可写为: 。OpenCV从多个棋盘格角点图像中求解求H作为摄象机部参数标定值。矫正图像时使用H的逆矩阵。4、运动扫描拼接的处理由于摄像机的视野有限,必须通过图书查阅伺服机构在整列书架中移动扫描所有的条码,则需要在为摄像过程中每幅图像进行条码识别,而后进行条码序列拼接,获得整列书架中的图书条码序列。三、条码识别结果按照以上描述的方法,成功地进行图书的多条码的分割和图像识别。如图8所示。图8 Code39条码识别的结果四、总结五、展望 目前条码图像识别技术被越来越多地在移动通信领域中得到应用,其中包括手机的一维、二维条码识别和信息查询。其中图像识别算法是基础。由于图像识别和信息查询需要大量
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号