




已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)qr二维条码自动识别系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文首先以q r 二维条码为例,探讨了二维条码图像的定位与分割算法,利 用r a d o n 变换与s o b e l 边缘检测算法将条码图像从原始条码图像中有效地分割出 来;然后分析了经过光学系统的条码图像的噪声模型,提出了一种计算点扩展函 数标准方差的算法;采用f o u r i e r 变换对条码进行反模糊滤波,经过差分处理后 自适应地选取阈值去除噪声导致的无效边界,从而得到了条码的基本模块;随后 讨论了q rc o d e 的解码过程,设计了完整的解码流程,并通过实验来验证了解码 的正确性与性能;同时,我们给出了一套自动识别系统硬件的框架与详细的硬件 参数,为二维条码的实际应用过程中快速有效地搭建系统提供了有效的借鉴。 关键字:二维条码q r自动识别f o u r i e r 变换 a b s t r a c t t a k eq rc o d ea sa ne x a m p l e ,f i r s t l y ,u s i n gr a d o nt r a n s f o r ma n ds o b e le d g e d e t e c t i o na r i t h m e t i c ,t h el o c a t i o na n ds e g m e n tt e c h n o l o g yo ft w o d i m e n s i o n a lb a r c o d ei sd i s c u s s e d t h e nt h em o d e lo fb l u r r e db a rc o d es i g n a lc a u s e db yt h e p o i n t s p r e a df u n c t i o ni sg i v e na n ds t a n d a r dd e v i a t i o no ft h ep o i n t s p r e a df u n c t i o ni s o b t a i n e d a f t e rt h eb a rc o d es i g n a ld e b l u r r e db a s e do nf o u r i e rt r a n s f o r m ,t h ee d g e s t r e n g t hh i s t o g r a mi su s e dt od r o pi n v a l i de d g ec a s e db yn o i s ea d a p t i v e l y s e c o n d l y , d e c o d i n go fq rc o d ei sd i s c u s s e di nd e t a i la n dw ed e s i g n e daf u l ld e c o d i n gf l o w ,a n d h a sc o n f i r m e dt h ed e c o d i n ga c c u r a c ya n dt h ep e r f o r m a n c et h r o u g ht h ee x p e r i m e n t ;a t t h es a m et i m e ,w eh a v ep r o d u c e das e to fa u t o m a t i cr e c o g n i t i o ns y s t e m sh a r d w a r e f r a m ea n dt h ed e t a i l e dh a r d w a r ep a r a m e t e ra n di tp r o v i d ef o u n d a t i o nf o rb u i l d i n ga b a rc o d ea p p l i c a t i o ns y s t e me f f e c t i v e l y k e yw o r d s :2 db a rc o d e , q rc o d e ,a u t o m a t i cr e c o g n i t i o n ,f i o u r i e rt r a n s f o r m 4 1 第一章引言 1 1 条码技术简介 条码技术是以计算机技术、光电传感技术和通信技术为基础而发展起来的一 项自动识别技术。现在已经成为信息数据自动输入、识别的重要方法和手段。 条码是一种可印制的机器语言,以“0 ”和“1 ”表示编码的特定组合单元, 以规则排列的图形符号来表示数据。早期的条码只在一个方向上携带信息,称为 一维条码;上世纪九十年代以来,二维条码逐渐发展起来并得到了越来越广泛的 应用,二维条码可以在横向和纵向两个方向上携带信息,信息的容量更大。根据 不同的编码规则,条码的码制有6 0 多种,常见的有c o d e 3 9 码、c o d e b a r 码、c o d e 2 5 码、i t f 2 5 码、m a t r i x 2 5 码、u p c - a 码、u p c - e 码、e a n 一1 3 码、e a n 一8 码、中国 邮政码、c o d e b 码、m s i 码、c o d e l l 码、c o d e l l 码、i s b n 码等一维条码和q r 码、p d f 4 1 7 码、d a t am a t r i x 码、m a x i c o d e 码、a z t e c c o d e 码、c o d eo n e 码等 二维条码。 条码能够被直接印刷在要扫描的物品上或者印刷在标签上,标签可以由专业 标签供应商印刷或者在现场印刷。条码印刷作为一种特殊的符号印刷技术,不同 于常规印刷,它的印刷有严格的技术要求和检测要求。流行的现场印刷技术包括: 点矩式和其他打击式方法、热敏转换技术、喷墨技术、离子沉淀和电子照相技术。 流行的非现场印刷预制标签的技术包括:苯安印刷、激光融刻、金属版印刷、照 相排版印刷、离子沉淀和电子照相技术。 在使用中,条码符号由一个红外线或可见光源照射,深色的模块吸收光,浅 色或空的模块则将光反射回扫描器。扫描器将光的情况转换成电子脉冲,译码器 使用数学算法将电子脉冲转换成一种二进制码,然后将译码后的信息传送给一部 手持式终端机:个人电脑、控制器或计算机主机。译码器可以内嵌到扫描器中或 外接。常见的扫描器使用可见光和红外线发光二级管( l e d ) ,氮氖激光或固态激光 二级管( 可见光和红外线) 等光源来识读条码符号。一些扫描器要求接触符号, 另一些则可以从远至几英尺以外的距离来识读符号。扫描器有固定式和手持式, 大多数具有移动式或固定式光束来照射符号。 条码是迄今为止最经济、实用的一种自动识别技术。相比于其他的识别技术, 条码技术具有以下几个方面的优点: ( 1 ) 输入速度快:与键盘输入相比,条码输入的速度是键盘输入的5 倍,并且 能实现“即时数据输入”。 5 ( 2 ) 可靠性高:键盘输入数据出错率为三百分之一利用光学字符识别技术出错 率为万分之一,而采用条码技术误码率低于百万分之一。 ( 3 ) 采集信息量大:利用传统的一维条码一次可采集几十位字符的信息,二维 条码更可以携带数千个字符的信息,并有一定的自动纠错能力。 ( 4 ) 灵活实用:条码标识既可以作为一种识别手段单独使用,也可以和有关识 别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动 化管理。 ( 5 ) 经济性好:比起其它的自动识别技术,条码印刷和识读设备的价格便宜。 并且,随着电子技术的发展,相关设备还在不断地降低价格。另外,条码标签易 于制作,对设备和材料没有特殊要求,识别设备操作容易,也不需要特殊培训。 条码技术作为一种先进的信息采集和输入技术,己被广泛应用于物流信息自 动处理和工业自动化生产过程的诸多行业。如商品销售、仓储管理、图书信息处 理、邮政系统、客运服务等领域。随着技术的进一步发展,它的应用会越来越广, 越来越多。 1 2 二维条码 1 2 1 二维条码分类 条码给人们的工作生活带来了巨大的变化。然而,一维条码仅仅只是一种商 品的标识,它不含有对商品的任何描述,人们只有通过后台的数据库,提取相应 的信息才能明白这个商品标识的具体含义。在没有数据库或联网不便的地方,这 一商品标识变得毫无意义。此外,一维条码无法表示汉字和图像信息,在有些应 用汉字和图像的场合,显得十分不便。同时,即使我f 挺立了数据库来存储产品 信息,而这些大量的信息需要一个很长的条码标识。如应用储运单元条码,应用 e a n u p c i 2 8 条码,都需要占有很大的印刷面积,对印刷和包装带来的困难就可想 而知了于是人们迫切希望不需从数据库中查出信息,便能直接从条码中获得大 量产品信息。现代高新技术的发展,迫切要求条码在有限的几何空间内表示更多 的信息,从而满足千变万化的应用需求。 二维条码正是为了解决一维条码无法解决的问题而诞生的为在有限的几何 空间内印刷大量的信息,可用两种方法:一是在一维条码的基础上向二维条码方 向发展;二是利用图像识别原理,采用新的几何图像和结构设计出二维条码码制。 目前,根据二维条码实现原理、结构形状的差异,可分为堆积式或层叠式二维条 码( s t a c k e db a rc o d e ) 和棋盘式或矩阵式二维条码( d o tm a t r i xb a rc o d e ) 两大 6 类型。 ( 1 ) 、堆积式或层叠式二维条码 堆积式二维条码的编码原理建立在一维条码基础之上,按需要堆积成二行或 多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的特点,识读、 设备与条码印刷与一维条码技术兼容。但由于行数的增加,行的鉴定、译码算法 与软件不完全相同于一维条码。有代表性的堆积式二维条码有c o d e 4 9 ,p d f 4 1 7 , c o d e1 6 k 等。 ( 2 ) 、棋盘式或矩阵式二维条码 矩阵式二维条码是在矩阵相应元素位置上,用点( 方点、圆点或其他形状) 的出现表示二进制“1 ”,点的不出现表示二进制的“0 ”,点的排列组合确定了 矩阵码所代表的意义。矩阵码是建立在计算机图像处理技术、组合编码原理等基 础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵码如o rc o d e , c o d eo n e ,d a t am a t r i x 等。 1 2 2 二维条码的特点 二维条码具有以下特点: ( 1 ) 高密度 二维条码通过利用垂直方向的尺寸来提高条码的信息密度。通常情况下其密 度是一维条码的几十到几百倍,这样我们就可以把产品信息全部存储在一个二维 条码中,要查看产品信息,只要用识读设备扫描二维条码即可,因此不需要事先 建立数据库,真正实现了用条码对物品的描述 ( 2 ) 具有纠错功能 二维条码引入了错误纠正机制。这种纠错机制使得二维条码因穿孔、污损等 引起局部损坏时,照样可以识读得到正确的信息。这种纠错机制使得二维条码成 为一种安全可靠的信息存储和识别的方法? 这是一维条码无法相比的。 ( 3 ) 可以表示多种语言文字。多数一维条码所能表示的字符集不过是1 0 个数 字,2 6 个英文字母及一些特殊字符。多数二维条码都具有字节表示模式,即提供 了一种表示字节流的机制,从而为多种语言文字的条码表示提供了一条前所未有 的途径。 ( 4 ) 可表示图像数据 既然二维条码可以表示字节数据,而图像多以字节形式存储,因此使图像( 如 照片、指纹等) 的条码表示成为可能。 ( 5 ) 可引入加密机制 加密机制的引入是二维条码的又一优点比如我们用二维条码表示照片时, 7 我们可以先用一定的加密算法将图像信息加密,然后再用二维条码表示。在识别 二维条码时,再加以一定的解密算法,就可以恢复所表示的照片。这样便可以防 止各种证件、卡片等的伪造。 二维条码作为一种新的信息存储和传递技术,从诞生之时就受到了国际社会 的广泛关注。经过几年的努力,现以已开始广泛的应用在国防、公共安全、交通 运输、医疗保健、工业、商业、金融、海关及政府管理等领域。 1 2 3 常用的二维条码扫描器 二维条码的阅读设备依阅读原理的不同可分为: ( 1 ) 线性c c d 和线性图像式阅读器( l i n e a ri m a g e r ) 可阅读一维条码和 线性堆叠式二维码( 如p d f 4 1 7 ) ,在阅读二维码时需要沿条码的垂直方向扫过整 个条码,我们称为“扫动式阅读”。这类产品比较便宜,有很好的性价比。 ( 2 ) 带光栅的激光阅读器可阅读一维条码和线性堆叠式二维码。阅读二维 码时将光线对准条码,由光栅元件完成垂直扫描,不需要手工扫动。 ( 3 ) 图像式阅读器( i m a g er e a d e r ) 采用摄像方式将条码图像摄取后进行 分析和解码,可阅读一维条码和所有类型的二维条码,是一种高端设备。 1 3 国内外二维条码的研究现状 从8 0 年代初开始,围绕如何提高条形码符号的信息密度,人们开展了多项研 究。各种码制相继提出,相应的自动识别设备和印刷技术也得到了长足的发展。 由于传统条码信息密度小、需占用较大面积等缺陷,使它不能应用于一切产 品之上,1 9 8 7 年在把条码变小或在相同的面积内装入更多信息的努力中,符号设 计专家戴维阿莱斯( d a v i da l l a i s ) 博士提出一种称为c o d e 4 9 的二维条妈,实际 上是把一维条码的高度截短并按行堆积,由2 至1 j 8 行构成,5 位数字用3 个字符表示, 使用2 字符为码词,是一种多行连续型且长度可变的数值式条码,可使用现有的 条码阅读设备和打印设备。c o d e 4 9 具有信息容量大和使用灵活等优点而受到学术 界的重视,开创了进行二维条码研究的先例,c o d e l 6 k 码近似于c o e d e4 9 码,由2 至i j l 6 行组成,分隔条分离各行,利用u p c 码和1 2 8 码字符集,最大信息长度可达7 7 个a s c i i 字符。p a v i d i s 教授等人进行了二维条码译码解码算法的研究,l o n g a c r e 教授着手进行堆积式二维条码符号学基础理论的研究,大大促进了堆积式二维条 码的发展。 1 9 9 0 年,s y m b o l 技术公司的王寅敬等人设计了一种称为便携式数据文件条码 p d f 4 1 7 ( p o r t a b l ed a t af i l e ) 的高密度条码,利用行鉴别原理,错误检测校正 8 等技术正确地收集组织数据,在识读设备与印刷技术上兼容条码工业标准。 上述c o d e 4 9 、p o f 4 7 码其信息密度高于普通条码,但所有这些符号表示法主 要是为静态应用或手持应用系统设计的。对于工厂自动化生产线上运动产品的识 别、邮政包裹传输带上自动包裹分拣处理等问题就不尽人意了。u p s 公司的 f i g r a r e l l a 等人研制的u p s c o d e 一- - 维符号表示法就是为包裹在分布环境下运动的 特性而设计的自动分类系统,称之为便携式数据库。该系统的作用是通过安装在 传输带上方的阅读器识读每个特定包裹的邮编信息,摄像机获取的象素数据 ( p i x e ld a t a ) 。转换成数据形式被放大,抵偿非均匀照明。一种特定的牛眼探测 器的存在并被用来识别标签的中心位置,通过图像处理确定标笺方位,识别六角 形中心,进行二维码重建,误差较正和译码,输出正确信息将包裹导入正确的滑 槽而实现邮包的自动分拣处理。 美国v e r i t e c 公司提出一种新的二维码符号( v e r t e c s y m b 0 1 ) 是在矩阵图形 里载有数据的条码,称之为矩阵符号码( m a t r i xs y m b 0 1 ) ,其矩阵符号格式和图 像处理系统己获得美国专利。该符号是一种用于微小型产品上的二进制数据编码 系统,便于机器书写和阅读,准确性和可重复性达到最佳水平,具有扩大和缩小 数据单元而不改变其数据信息,容纳奇偶校检和错误修改代码等特点。具体产品 信息的矩阵符号按特定算法编制的软件生成数据单元和数据图像帧,可用激光蚀 刻方法标记于产品之上,其面积大小的限制因素是激光蚀刻的精度和图像识别设 备的分辨能力矩阵符号码在微小产品自动识别、工厂生产自动线以及计算机集 成制造系统( c i m s ) 中具有广阔的应用前景。 q r 码是d e n s o 公司于1 9 9 4 年开发的代码,1 9 9 7 年l o 月被a i mi n c ( a u t o m a t i c i d e n t i f i c a t i o nm a r n u f a c t u r e si n c 。) 制定为国际规格,1 9 9 9 年1 月被制定为j i s 规格。二维条码“q r 码”已于2 0 0 0 年6 月1 5 日被正式接纳为i s o 国际规格。q r 码正 在各个领域里得到有效的利用,例如日本汽车工业会己在作为e d i 标准帐票的发 票上采用了标准二维条码。另外在流通领域,q r 码广泛应用于混载内容管理,出 入库管理。零售店的订货贩卖管理系统( p o s ) ,f a 领域的工程管理等都使用q r 码。 菲利普研究实验室的w i j lw a ng i l s 等人提出一种新型的二维码方案,即用 标准几何形体圆点构成自动生产线上产品识别标记的圆点矩阵二维码表示法。这 一方案由两大部分组成,一是源编码系统,用于把识别标志的编码转换成通信信 息字;另一是信道编码系统,用于对随机误码进行错误检测和校正。点阵码除了 具备信息密度高、占用较少的产品标志面积等特点外,也便于用雕刻腐蚀制板工 艺把点码印制在机械零部件上,用摄像设备识读和图像处理系统识别、也是一种 具有较大应用潜力的二维编码方案。 9 近年来,国内在大力进行条码推广应用的同时也积极跟踪国外技术发展,进 行条码理论基础和关键技术的研究中国物品编码中心条码高新技术研究立项进 行二维码研究工作。在二维码制设计、编码原理等方面进行了探索,提出了一种 自动识别方位进行校正的j 结构方案与中心符相结合的二维码制初步编码方案。 对二维码图像处理译码解码算法以及隐形码等关键技术进行了研究,并取得一些 初步成果。 二维条码的码的研制之所以能引起国内外条码技术领域学者专家的关注,其 根本原因是作为信息自动识别处理的条码应具有更高信息密度才能在经济全球 化、信息网络化、生活国际化的当今社会充分起到信息交换媒介的作用。二维条 码不仅可以象一维条码那样用在一般产品上,而且在微小型产品、自动生产线上 的产品识别等方面更具有独特优势,可以预言,二维条码的应用深度和广度将在 条码技术发展中起着重要的更新换代作用。 1 4 课题研究的目标与内容 本文在借鉴前入研究的基础上,从整个条码识别系统层面上,以q rc o d e 为例,完成了q r 二维条码的编码,条码图像的预处理设计,条码的译码设计, 到最后条码系统的硬件设计这一完整的开发过程,设计出一套比较具有实际应用 价值的二维条码自动识别系统。具体章节如下: 第一章:以q r 二维条码符号为例,介绍了q r 码的符号特性和现在的研究 状况; 第二章:根据q r 二维条码的标准,详细分析q r 二维条码的编码原理; 第三章:对于q r 码的译码算法进行了详细的分析。尤其对译码的基本流程 作了深入探讨和研究,同时详细描述了条码图像的预处理过程; 。 第四章:从硬件层面上设计并实现了q r 码的识别系统,重点讨论了硬件的 整体框架,同时对硬件的各个模块进行了分析: 第五章:对于q r 二维条码自动识别系统进行性能测试; 第六章:分析了本系统的优点与缺点,并对于以后需要改进的方面进行总结。 1 0 2 第二章q r 二维条码编码技术 2 1q r 条码简介 q r 码是由日本d e n s o 公司于1 9 9 4 年9 月研制的一种矩阵式二维条码符号,它除 具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图 像等多种信息、保密防伪性强等优点外,还具有如下主要特点: ( 1 ) 超高速识读 从q rc o d e 码的英文名称q u i c kr e s p o n s ec o d e 可以看出,超高速识读是q r 码 区别于四一七条码、d a t am a t r i x 等二维码的主要特性。由于在用c c d 识读q r 码时, 整个q r 码符号中信息的读取是通过q r 码符号的位置探测图形,用硬件来实现,因 此,信息识读过程所需时间很短,它具有超高速识读特点。用c c d 一- - 维条码识读 设备,每秒可识读3 0 个含有1 0 0 个字符的q r 码符号;对于含有相同数据信息的四 一七条码符号,每秒仅能识读3 个符号;对于d a t am a t r i x 矩阵码,每秒仅能识读 2 到3 个符号q r 码的超高速识读特性使它能够广泛应用于工业自动化生产线管理 等领域。 ( 2 ) 全方位识读 q r 码具有全方位( 3 6 0 度) 识读的特点,这是q r 码优于层叠式二维条码如四一 七条码的另一主要特点,由于四一七条码是将一维条码符号在行排高度上的截短 来实现的,因此,它很难实现全方位识读,其识读方位角仅为1 0 度。 ( 3 ) 能够有效地表示汉字 由于q r 码用特定的数据压缩模式表示中国汉字和日本汉字,它仅用1 3 位可表 示一个汉字,而四一七条码、d a t am a t r i x 等二维条码没有特定的汉字表示模式, 因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用1 6 b i t ( 两个 字节) 表示一个汉字,因此q rc o d e 码比其它的二维条码表示汉字的效率提高了 2 0 9 6 ( 4 ) 编码字符集 1 、数字型数据( 数字0 - 9 ) ;2 、字母数字型数据( 数字舢9 ;大写字母忍; 9 个其他字符:s p a c e ,$ ,+ ,+ ,以:) ;3 、8 位字节型数据;4 、日本汉字字符;5 、 中国汉字字符( g b2 3 1 2 对应的汉字和非汉字字符) 。 q r 码为由正方形模块组成的一个正方形阵列,它由编码区域和包括寻像 图形、分隔符、定位图形和校正图形在内的功能图形组成。如图2 1 所示。 o :5 辱绛嬲澎 鼢黼跫 莲倍鹈移 暖j 冀晦 蜘: ! = 0 宅 簸带鬈驻 熬獬潮宴 镑瓣7 图2 1q r 码符号结构图 q r 码符号共有4 0 种规格,分别为版本1 、版本2 版本4 0 。版本1 的规格 为2 1x2 1 模块,以后每一个版本符号比前一个版本每边增加4 个模块,直到版 本4 0 ,其规格为1 7 7 1 7 7 模块。q r 码的最大数据容量( 版本4 0 ) 可容纳: 1 ) 数字数据7 0 8 9 个字符 2 ) 字母数字数据4 2 9 6 个字符 3 ) 8 位字节数据2 9 5 3 个字符 4 ) 中国汉字数据1 8 1 7 个字符 q r 码有4 种纠错等级,l 、m 、q 、h ,分别可恢复7 、1 5 、2 5 、3 0 的码字。 为了提高q r 码的译码效率,可以为符号添加掩模,使符号中深色和浅色模 块的比例接近1 :1 ,使因相邻模块的排列而影响高效译码的可能性降为最小。 对于特殊的应用,q r 码还可以使用扩充解释,表示缺省字符集以外的数据 ( 如阿拉伯字符、希腊字母等) 或其他的数据解释( 如用一定的压缩方式表示的 数据) 或对行业的特点需要进行编码。 如果要表示的数据量过大,用一个符号无法表示,还可以用结构链接表示。 以这种方式,q r 码允许用1 6 个q r 码符号在逻辑上连续表示信息。以任意的顺 序扫描,而原始数据能正确地重新连接起来。 2 2q r 二维条码自动识别编码原理与实现 2 2 1 数据分析与模式选择 q r 码的编码字符集包括数字型数据( 数字0 9 ) 、字母数字型数据( 数字o _ 9 ; 大写字母a z ;9 个其他字符:s p a c e ,$ ,爿c ,+ ,一,:) 8 位字节型数据( a s c i 工字符集) 、中国汉字字符。对应不同的字符集,q r 码使用不同的模式来进行编 码,各模式编码时采用的方法不同。在编码时,可以在模式之间进行转换,以便 高效地将数据转化为二进制位流。编码后的位流由一个或多个不同模式的段组 成,每一段由模式指示符( 4 位) 、字符计数指示符、数据位流组成。 由于各模式的字符集有重叠的部分,为了生成高效的编码,可以通过模式的 转换使位流的长度最短。理论上说,用每个数据字符所需的位数最少的模式进行 编码是最高效的,但每次模式的转换时都需要有相关的模式指示符和字符计数指 示符等形式的附加开销,因此对于较少的字符数,模式的转换并不一定总能使位 流总量最少。另外,由于各版本的容量增加不是连续的,也不一定需要在任何情 况下都要达到最高的转换效率。 在设计的过程中,在模式选择和转换时选用了如下规则: a ) 选择初始模式时, ,1 ) 如果初始输入数据在中国汉字字符集中,不包括其它字符,选择中国汉 字模式; 2 ) 如果初始输入数据在8 位字节的专有子集中,选择8 位字节模式; 3 ) 如果初始输入数据在字母数字的专有子集中,选择字母数字模式; 4 ) 否则,选择数字模式。 b ) 转换模式时, 1 ) 在8 位字节模式中,如果出现中国汉字专有子集,则转换到中国汉字模 式; 2 ) 在字母数字模式中,如果出现中国汉字专有子集,则转换到中国汉字模 式,如果出现8 位字节专有子集,则转换n s 位字节模式; 3 ) 在数字模式中,如果出现中国汉字有子集,则转换到中国汉字模式 8 位字节专有子集,则转换到8 位字节模式,如果出现字母数字专有子集字母 数字模式 2 2 2 编码规则 在将输入的数据转换为位流时,每种模式对应相应的段,在段的开始时由模 式指示符标识该段,其后是字符计数指示符,表明该段字符的长度。每个模式段 由模式指示符的最高位开始,以数据位流的最低位结束。由于段的长度已经由字 符计数指示符给出,因此,段与段之间没有特定的分割。各模式与其对应的模式 指示符如表2 1 所示。 表2 1 模式指示符 模式模式指示符 e c lo 】1 1 数字 0 ( ) 0 1 字母数字0 0 1 0 8 位字节 0 1 0 0 中国汉字1 1 0 1 结构链接0 0 1 1 终止符0 0 0 0 整个符号的结束由4 位终止符0 0 0 0 表示,当符号数据位流后所余的的容量不 足4 位时,终止符可以被截短。 各模式下数据编码的规则如下。 ( 1 ) 数字模式 将输入的数据每3 位分为一组,每一组数据转化为1 0 位二进制数。如果输 入的数据位数不是3 的整数倍,则将所余的l 位和2 位数字分别转化为4 位或7 位二 进制数。 ( 2 ) 字母数字模式 在此模式下,每个输入的字符被赋予一个0 i i 4 4 的数值,如表2 2 所示。编 码时,将输入的字符每2 个分为一组,将前面字符的值乘以4 5 与第二个字符的值 相加,将所得结果用1 1 位二进制数表示。如果输入的数据字符数不是2 的整数倍, 将最后一个字符编码为6 位二进制数。 表2 2 字母数字模式的编译码表 字值字 值 字值字 值 字值字值字值 符符符符符符符 0o77e1 4l2 1s2 8z3 54 2 1l88f1 5m2 2t2 9s p 3 6 4 3 2299g1 6 n 2 3u3 0$3 7 4 4 33a1 0h1 7o2 4v3 13 8 44bl li1 8p2 5 w 3 2 采 3 9 55c1 2 j 1 9 q 2 6x3 3 + 4 0 66d1 3k2 0r2 7y3 44 1 1 4 ( 3 ) 8 位字节模式 在此模式下,一个8 位二迸制数直接表示一个输入数据字符的a s c i i 字符 值。 ( 4 ) 中国汉字模式 每个汉字字符是由两个字节表示的,字符值为g b 2 3 1 2 中规定的内码值。汉 字模式下的编码按照下述规则进行; i ) 对于第一字节值在o x a i 到o x a a 之间,第二字节值在o x a i 到o x f e 之间的 字符,第一字节值减去o x a l ;第一字节值在o x b 0 到o x f a 之间,第二字节 值在o x a i 至u o x f e 之间的字符,第一字节值减去o x a 6 : 2 ) 将1 ) 的结果乘以o x 6 0 ; 3 ) 将第二字节值减去o x a l ; 4 ) 将2 ) 的结果加上3 ) 的结果; 5 ) 将4 ) 的结果转化为1 3 位二进制数。 在本模式中,需要注意的是,在模式指示符和字符计数指示符之间,需要加 入中国汉字子集指示符( 4 位) ,对应于g b 2 3 1 2 的子集指示符是0 0 0 1 。 2 2 3 纠错编码 q r 码具有很强的纠错能力,这种能力的获得是通过r e e d s o l o m o n 2 q 错控制编 码来实现的。r e e d - s o l o m o n 2 q 错码的原理在第四章将细述,在此仅概要说明一下 如何应用。把3 2 2 中得到的码字组按照不同的版本和纠错等级分块,每一块分 别进行纠错把各块的数据码字作为按降幂排列的多项式各项的系数,用纠错码 字生成多项式g ( x ) 去除该多项式,所得到的余数多项式的系数,就是各个纠错码 字。余数多项式的最高次项是第一个纠错码字,最低次项是最后一个纠错码字。 需要注意的是,上述运算都是在伽罗华域g f ( 2 8 ) 中进行的,q r 码的多项式算法 用位的模2 算法( 实际上就是异或算法) 和字节的模1 0 0 0 11 0 1 算法。q r 码用该域的 本原多项式x8 +x4 + x 3 + x2 + 1 的本原域元素a 来生成纠错码字生成多项式。每一生 成多项式是一次多项式x ao ,x 一口lp ,x 一口“的乘积,其中r 是生成多项 式的次数。q r 码的纠错生成多项式共有3 1 个,在程序中也可以把这些生成多项式 先存储于文件中,在需要时从文件中读取。 各块的纠错码字都生成后,接着把数据码字和纠错码字排列成最终位流序 列。先排数据码字,所有的数据码字都应该在纠错码字的前面。排列时,按如下 规则进行:数据块1 的码字1 ,数据块2 的码字l 数据块1 的码字2 ,数据块2 的码 字2 以此类推至数据块n 的最后一个码字;随后,纠错块1 的码字1 ,纠错块2 的码字1 ,纠错块2 的码字2 ,纠错块2 的码字2 ,以此类推至纠错块n 的最后一个 码字。如果在某些版本中不能填满符号的码字容量,需要在最终信息位流中添加 3 、4 或7 个剩余位。 2 2 4 码字的布置 q r 码的符号字符有规则和不规则的两种类型。它们的使用取决于它们在符号 中的位置以及与其它符号字符和功能图形的关系。多数码字在符号中表示为规则 的2 x 4 个模块的排列。其排列有两种方式:垂直布置( 2 个模块宽,4 个模块高) 和水 平布置( 4 个模块宽,2 个模块高) ,见图2 2 。当改变方向或紧靠校正图形以及 其它功能图形时,需用不规则符号字符。 1 ) 水平布置 0123 45 67 2 ) 垂直布置 o1 23 45 6 7 图2 2 规则符号字符的排列 q r 码的每种版本都对应各自的图形矩阵,该矩阵是n x n 模块构成的正方形阵 列。除了周围的空白区外,整个图形分为功能图形区域和编码区域。功能图形区 域包括寻像图形、定位图形、校正图形和分隔符等;编码区域包括数据和纠错码 字,格式信息和版本信息等。对于不同版本,功能图形的相对位置都是确定的。 一旦知道了版本号,就可以确定功能图形的布置,从而在相应的地方填充深色或 浅色的模块。其中校正图形随各版本不同,数量和位置变化较大,每一版本的校 正图形数和每一校正图形的中心模块的坐标。格式信息和版本信息对于各版本来 说位置也是固定的,但是它们的具体信息位需要到最后才能定下来,故相应位的 模块位置上暂时置空。 在q r 码的编码区域中,符号字符以2 个模块宽的纵列从符号的右下角开始布 置,并自右向左,且交替地从下向上或从上向下排列符号字符的排列遵从以下 规则: 1 ) 位序列在纵列中的布置为从右到左,向上或向下应与符号的向置方向一致。 2 ) 每个码字的最高位( 第7 位) 应放在第一个可用的位置,随后的位放在下一个可 用位置。如果布置的方向是由下向上的,则最高位占用规则符号字符的右下角模 块,布置的方向是由上向下时,最高位占用右上角,如图2 3 。如果先前的字符 结束于右侧的模块纵列,最高位可能占据不规则符号字符的左下角模块位置,见 图2 4 6 t 45 23 0 i 图2 3 向上或向下的规则字符位的排列 3 ) 如果符号字符的两个模块纵列同时遇到校正图形或定位图形的水平边界,可 以在图形的上面或下面继续布置,如同编码区域是连续的一样。 向上 o 12 【= 个字符34 56 7a 0 1a g 个字符 2 3a 45 67 图2 4 校正图形附近的位布置示例 4 ) 如果遇到符号字符的上或下边界( 即符号的边缘、格式信息、版本信息或 分隔符) 码字中剩余的位应改变方向放在左侧的纵列中,如图2 5 t , ( b ) 图2 5 布置方向改变的符号字符( 由向上变为向下) 1 7 5 ) 如果符号字符的右侧模块纵列遇到校正图形或版本信息占用的区域,位的 排列形成不规则的符号字符,沿着相邻校正图形或版本信息的单个模块纵列延 伸。如果字符在可用于下一个字符的两列纵列之前结束,则下一个符号字符的首 位放在单个纵列中。见图2 4 。 另外,还有一种符号字符的布置方法。整个码字序列( 包括数据码字和纠错 码字以及填充码字) 可以视为一个单独的位流,将其从最高位开始按从右向左、 向上和向下交替地布置于两个模块宽的纵列中。并跳过功能图形占用的区域,在 纵列的顶部和底部改变方向,每一位放在一个可用位置上,直到整个位流排列完 毕。这种方法可以得到和第一种方法相同的结果。 2 2 5 掩码 经过上述排列的q r 码符号图形,可能出现深色模块与浅色模块的不均衡布 置,或者在不适当的地方出现类似功能图形的模块。这可能对符号的识读产生不 良影响。为了提高q r 码识读的可靠性,最好均匀地安排深色与浅色模块,并尽可 能避免位置探测图形的位图1 0 1 1 0 1 出现在符号的其它区域。故q r 码提供了掩模措 施。 进行掩模的时候,应当注意,掩模不用于功能图形,只对编码区域进行掩模。 掩模时,用不同的掩模图形对编码区域的模块图形( 格式信息和版本信息除外) 进行x o r 操作。x o r 操作即将模块图形依次放到掩模图形上,并将对应于掩模图形 深色模块的模块按位取反( 浅色变为深色,深色变为浅色) ,对应于掩模图形浅色 模块的模块不变。 q r 码共有8 种掩模图形。表2 3 给出了这8 种掩模图形参考和相应的掩模图形 的生成条件。掩模图形是通过将编码区域内那些条件为真的模块定义为深色而产 生的。所示的条件中,i 代表模块的行位置,j 代表模块的列位置。( i ,j ) = ( 0 ,o ) 代表符号中左上角的位置。 表2 3 掩模图形的生成条件 掩模图形参考生成条件 0 0 0 ( i + j ) r o o d2 = - 0 o 们ir o o d2 = - 0 0 1 0 jr o o d3 = 0 0 1 1 ( i + j ) m o d3 = 0 1 0 0 ( ( ;d i v2 ) + ( jd i v3 ) ) m o d2 = 0 1 0 1 ( ;j ) m o d2 + ( ij ) n o d3 = 0 ”0( ( ij ) m o d2 + ( ij ) n o d3 ) m o d2 = 0 1 8 图2 6 给出了版本l 符号的所有掩模图形 i l 0 1 0 囊e 辩惜辣孵露 1 0 01 0 11 1 0 1 图2 6 版本1 符号的掩模图形 2 2 6 格式信息与版本信息 格式信息指示q r 码的纠错等级和掩模图形参考由于格式信息的译码对整个 符号的译码至关重要,所以在符号中出现两次以提供冗余。格式信息在符号中的 位置如图2 7 所示。其中,格式信息的最低位编号为0 ,最高位编号为1 4 0 1 9 筝键洲 拊 -i-l 回 编码区域 图2 7 格式信息排列图 格式信息为1 5 位,其中5 位为数据位,l o 位为用b c h ( 1 5 ,5 ) 编码计算所得的 纠错位。第1 ,2 数据位是符号的纠错等级。各等级的指示符如表3 4 所示。第3 位是所用的掩模图形参考,见表2 4 表2 4 纠错等级指示符 l 纠错等级 lm q h l 指示符 o l0 0l l1 0 1 0 位纠错位计算出来之后,放在数据位的后面,然后,将1 5 位格式信息与掩 模图形1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 进行x o r 运算。以确保纠错等级和掩模图形参考合在一起 的结果不全是q 版本信息为1 8 位,其中前6 位为数据位,后1 2 位是通过b c h ( 1 8 ,6 ) 编码计算 出的纠错位。6 位数据是版本的信息,最高位是第一位。只有版本7 至u 4 0 的符号有 版本信息,版本卜6 的符号的版本信息全为0 。版本信息不必掩模。版本信息在符 号中的位置,见图2 1 。由于版本信息的译码也是整个符号译码的关键,因此也 在符号中出现两次以提供冗余。两处版本信息的位排列如图2 8 所示。其中版本 信息的最低位模块放在编号为0 的位置上,最高位放在编号为1 7 的位置上。 2 0 回一回 2 2 7 纠错编码 036 9 1 21 5 l , 47 1 01 31 6 2581 11 41 7 位于左下角的版本信息 012 345 6 7 8 91 0i i 1 21 31 4 1 51 6 1 7 位于右上角的版本信息 图2 8 版本信息的模块布置 q r 的纠错能力,是通过r e e d s o l o m o n 差错控制编码( 简称r s 码) 实现的。r s 码是线性分组码的一种,是在数字通信和信息存储领域应用非常广泛的一种编码 方法在发送端发送信息之前,纠错编码器根据要发送的数据信息计算相应的纠 错信息,并把纠错信息作为冗余校验位和数据信息一起组成纠错码。接收端收到 这些码后,通过纠错译码器不仅能自动地发现错误,而且能自动的纠正码字在传 输过程中的错误。编码后的信息格式如图2 9 所示算法产生。待编码的数据以k 个信息码元作为一段,编码器把这k 个信息元按r e e d - s o l o m o n 个校验元,输出长 为n = k + r 的码字。 卜一n 一 卜k 一 图2 9 信息编码格式 3 第三章q r 二维条码自动识别译码算法 3 1q r 二维条码的图像预处理过程 条码图像的预处理在整个条码识别系统中起着举足轻重的作用,直接影响着 系统的运行速度和效果,是整个系统的核心。条码图像的预处理首先要充分考虑 到条码图像的特点,特别是矩阵式条码的特点,做出相应的图像处理方案,并且 通过大量的实验去调整。另外,还应该考虑到图像处理的速度。识别系统在使用 过程中,识读的速度应该为用户所接受,识读速度过慢将会极大地限制算法的实 用性。 3 1 1 图像预处理的基本思想 条码图像预处理的基本思路是首先要对采集的彩色图像,( x ,y ) 使用标准 的灰度化公式举行灰度化,然后对灰度图像进行滤波得到,( x ,y ) ,在一定程度 上消除了噪声:之后用适当的闭值t 对灰度图像进行二一值化得到二值图像 b ( x ,y ) ,接着对二值图像中提取边缘图像e ( x ,y ) ,求出条码的旋转角度和条码 的四个顶点坐标( x ,y ,) ,( x ,y :) ,( x :,y ,) ,( x :,y :) ,然后把条码图像,( x , y ) 旋转至水平,并且把条码从图像,( x ,y ) 分割出来得到g ( x ,y ) 到条码符号序 列。接着对条码图像g ( x ,y ) 进行基于f o u r i e r 变换的反模糊滤波算法得到条码符 号序列。条码图像预处理算法的基本流程如图3 1 所示。 曰母一仁习圜_ 一i 垂蛩一怔固 3 1 2 图像的灰度化 图3 i 图像预处理基本流程 因为灰度图像的信息量比r g b 彩色图像小得多,并且在识读条码的过程中彩 色信息分量对于条码的识别没有作用,因此把彩色图像转化为灰度图像,将会大大地减少 后续操作的运算时间,并且在实际识读设备研发的过程可以节省内存的开支。 设某像素的r g b 的彩色各分量值为( r ,g ,b ) ,其中。0 = r = 2 5 5 ,0 = g = 2 5 5 , 0 = b d 2 ,定义a l 和a 2 分别为第一条轮廓线和第二条轮廓线所包 围的面积。将一幅连续图像具有灰度级d 的所有轮廓线所包围的面积,成为它的 阈值面积函数a ( d ) ,则直方图可定义为: h ( d ) 2 烛趔铲一去a ( d ) 因此一幅连续图像的直方图是其面积函数的导数的负值。 ( 2 ) 图像的二值化技术 二值图像是指整幅画面内仅黑( 灰度值为o ) 白( 灰度值为1 ) 二值的图像。在 它们上面不呈现出灰度的变化。如文字图像、进行指纹识别的指纹图像,都属于 二值图像。在数字图像处理中,二值图像占有非常重要的地位,一方面,有些图 像本身就是二值的;另一方面,在某些情况下即使图像本身是有灰度的,我们也 设法使它变成二值图像再进行处理。二值图像具有存储空间小,处理速度快等特 点,可以方便地对图像进行布尔运算,更重要的是二值图像可以比较容易地获取 目标区域的几何特征或其他特性,比如描述目标区域的边界,获取目标区域的位 置和大小等等。在二值图像的基础上,还可以进一步对图像进行处理,获取目标 的更多特征,从而为进一步的图像分析和识别奠定基础。 图像闽值分割是一种广泛使用的给予空间域聚类分析的区域分割技术,主要 是利用图像中要提取的目标和背景在灰度特性上的差异,选择一个合适的阐值, 通过判断图像中的每个像素点是否满足阈值要求来确定图像中该像素点属于目 标还是应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络教育平台建设与管理方案
- 个体户用工要不要签劳动合同
- 居间合同与居间合同协议
- 高速铁路票务管理
- 房屋短期出租合同
- 应急特种作业培训机构建设方案
- 淮阴区电梯安全管理人员笔试练习题以及答案
- 建筑工程水电消防合同
- 数学北京课改版15.6 中心对称图形教案配套
- 家校合作与沟通协调计划
- 伊利KA渠道管理培训材料课件
- 项目质量管理机构结构框图
- 一例视神经脊髓炎的护理查房
- 学校“五项管理”问题台账
- 眼解剖(简单版)课件
- 厨房隔油池清理记录
- 常见生物相容性实验汇总
- 综合探究三 探寻丝绸之路(课堂运用)
- 企业重组相关税收政策培训教学课件(38张)
- 肝癌的防治(大众科普版本)-PPT课件
- 职业危害防治实施管理台账
评论
0/150
提交评论