(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf_第1页
(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf_第2页
(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf_第3页
(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf_第4页
(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(信号与信息处理专业论文)基于niosⅡ的qr条码识别系统的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要 二维条码具有高容量、高密度、纠错能力强、安全强度高等特点,它作为信 息的载体在信息自动化领域里发挥着越来越重要的作用。二维条码是建立在计算 机图像处理技术、组合编码原理等基础上的一种图形符号自动识读处理码制。由 于二维条码的信息密度比较高,识别技术相对复杂,因此对其有效快速识别成为 当前重要的研究课题。 论文在分析q r 二维条码译码原理基础上,通过内嵌n i o s i i 软核方式构建了 基于f p g a 的识别系统。采用摄像头拍摄条码图像,经过图像预处理和条码译码, 将q r 码所携带的原始信息显示出来。 论文主要工作包括: 1 结合s o p c 理念,在f p g a 芯片上搭建了基于n i o s i i 的q r 码识别系统, 首先分析了系统的功能,然后规划了各个功能模块,最后完成了从图像采集、图 像处理、条码译码到输出显示的全过程。 2 分析了r s 纠错码和b c h 码的原理,研究各自在伽罗华域g f ( 2 5 6 ) 域内 的译码方法及其程序设计,实现了对错误码流的正确纠正。 3 根据q r 码的物理特征,对条码的图像处理算法和取样网络进行了改进, 减少了运算复杂度,提高了运行效率,使之更适合应用于嵌入式系统。 4 对q r 码的译码算法进行了研究,完成了q r 码在三种不同编码模式下的 译码实现,能够准确地将条码的数字码流还原成原始信息。 5 利用s o p c 中自定义外设、自定义指令和c 2 h 等不同的方法,分别对对系 统中复杂度较高,耗时较多的算法模块进行了硬件化,提高了系统的实时性。 经实验验证,本文所设计的q r 码识别系统有效可行,能够正确地还原出英文、 数字和中文三种不同模式下的q r 条码携带的原始信息,同时也具有很好的实时 性。 关键词:二维条码,q r 码,r s 纠错,图像预处理 英文摘要 a b s t r a c t w i t hh i g h e rr a p a c i t y , h i g h e rd e n s i t y , m o r ep o w e r f u le r r o r - c o r r e c t i o na b i l i t ya n d h i g h e rs e c u r i t ya b i l i t y , t w o d i m e n s i o n a l b a rc o d eh a sp l a y e da l l i m p o r t a n tr o l e g r a d u a l l yi nt h ei n f o r m a t i o na u t o m a t i cf i e l d f i r s t l y , b a s e do nd i g i t a li m a g ep r o c e s s i n g a n dc o m b i n e dc o d i n gt h e o r y , t w o d i m e n s i o n a lm a t r i xb a rc o d ei sas y m b o ls y s t e m p r o c e s s e da u t o m a t i c a l l yu s i n gi m a g er e c o g n i t i o nt e c h n o l o g y b e c a u s et w o d i m e n s i o n a l b a rc o d e sr e l a t i v e l yh i g h e rd e n s i t yi n f o r m a t i o n ,i t sr e c o g n i l i o nt e c h n o l o g yi sm o r e c o m p l e xt h a nt h a to fo n e d i m e n s i o n a lb a r s or e c o g n i z i n g2 db a r c o d ef l e e t l ya n d e f f e c t i v e l yb e c o m e sa ni m p o r t a n tf i e l d t h i st o p i cs t u d i e st h eq rb a rc o d ep r i n c i p l ea n dr e a l i z e st h es y s t e mp l a nt h r o u g h e m b e dt h en i o s i is o f tn u c l e a ro nt h ef p g a t h er e c o g n i t i o ns y s t e mp h o t o g r a p h st h e b a rc o d ei m a g ew i t ht h ec a m e r a ,a f t e rt h ei m a g ep r e t r e a t m e n ta n dt h eb a rc o d ed e c o d i n g , t h ep r i m a r yi n f o r m a t i o nw h i c ht h ec o d ei n s t i t u t ec a r r i e sq rd e m o n s t r a t e t h i sa r t i c l ep r i m et a s ki sa sf o l l o w s : 1 u n i f i e st h es o p ci d e a , b u i l to nt h ef p g ac h i pb a s e do nt h en i o s i iq rc o d e r e c o g n i t i o ns y s t e m ,t h ea n a l y s i sh a sp l a n n e de a c hf u n c t i o n a lm o d u l ef u n c t i o n ,o ft h e r e c o g n i t i o ns y s t e m i th a sc o m p l e t e de n t i r ep r o c e s sf r o mi m a g eg a t h e r i n g ,t h ei m a g e r y p r o c e s s i n g ,a n dt h eb a rc o d eh a sb e e nd e c o d e dt ot h eo u t p u t 2 a f t e rr e s e a r c h i n gt h er e e d - s o l o m o ne r r o r - c o r r e c t i n gc o d e ,t h i sp a p e ra l s og i v e sa t h o r o u g ha n a l y s u so fr sc o d e sa p p l i c a t i o n ,a n dp r o g r a m st h e mr e a l i z e s ,w h i c hc a n c o r r e c tt h ew r o n gs y m b o ls t r e a mc o r r e c t l y 3 t h i sp a p e rh a sc o n d u c t e dt h ed e e pr e s e a r c ht ot h eb a rc o d ei m a g ep r e t r e a t m e n t a l g o r i t h m c o m p a r e d t r a d i t i o n a lt h eb a rc o d er e c o g n i t i o na l g o r i t h m ,t h i sa r t i c l e a c c o r d i n gt ot h eq rc o d et h ep h y s i c a lf e a t u r et om a k et h ei m p r o v e m e n tt ot h e r e c o g n i t i o na l g o r i t h m ,r e d u c e dt h eo p e r a t i o no r d e ro fc o m p l e x i t y , r a i s e dt h eo p e r a t i n g e f f i c i e n c y , c a u s e di tt ob em o r es u i t a b l ei nt h ee m b e d d e ds y s t e m 4 t h eq rc o d eo nt h ed e c o d i n ga l g o r i t h mi sr e s e a r c h e d ,a n dc o m p l e t et h eq r c o d ed e c o d i n gu n d e rt h et h r e ed i f f e r e n tc o d i n gm o d e ,a n db a r c o d ec a na c c u r a t e l y r e s t o r et h ed i g i t a lb i ts t r e a mi n t ot h eo r i g i n a li n f o r m a t i o n 5 t h i sp a p e rc h a n g e st h ea l g o r i t i cm o d u l ew h i c hi sh i g hc o m p l e x i t ya n d t i m e c o n s u m i n g i n t ot h eh a r d w a r ei nt h e s y s t e m w i t hu s i n g c u s t o mp e r i p h e r a l c o m p o n e n t ,t h ec o m p o n e n ti n s t r u c t i o na n dc 2 hd i f f e r e n tm e t h o d sf r o ms o p c ,t h e i i i 重庆大学硕十学位论文 t i m e c o n s u m i n ga l g o r i t h mm o d u l eh a sb e e nc h a n g e di n t oh a r d w a r es e p a r a t e l yt o ,a n d e n h a n c es y s t e m st i m e l i n e s s a f t e rt h ee x p e r i m e n t a lv e r i f i c a t i o n ,t h eq rc o d er e c o g n i t i o ns y s t e mp l a nw h i c h t h i sa r t i c l ep r o p o s e di se f f e c t i v ef e a s i b l e ,a n dc a i lr e t u r nq rc o d et ot h eo r i g i n a l i n f o r m a t i o nc o r r e c t l yu n d e re n g l i s h ,d i g i t a la n dc h i n e s et h e s et h r e ek i n d so fd i f f e r e n t p a t t e r n s ,a n ds i m u l t a n e o u s l ya l s oh a st h ev e r yg o o dt i m e l i n e s s k e y w o r d s :t w o d i m e n s i o n a lb a rc o d e ,q rc o d e ,r se r r o r - c r r e c t i n g ,i m a g ep r e 。p r o c e s s w 学位论文独创性声明 声 人 声 明所呈交的塑l士学 位 论文 葙氢丝翊醒幽筮塑蚴幽是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人己经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 学位论文作者签名: 导师签名: 一 一c l o c k i e n t b l e i r q u7_i f p e r n 。昭 alu + f 、 卜讪 l - 叫 广 一- i n t e r r u p t li 1 ) _c o n t r o l j r q 6 ;_ 竹- 卜p - r i o ”p h k _ c o t r 删 r e tr e g i s t e rf i l e 广弋 人 图3 1n i o s i i 软核结构框图 f i 9 3 1n i o si i s o f tc o l es t r u c t u r ed i a g r a m 目前n i o s i i 软核包含了三种内核:n i o s i i f 处理速度快、n i o s i i e 逻辑资源 经济、n i o s i i s 标准型配置。快速型n i o si i 内核具有最高的性能,经济性内核具 有最低的资源占用,而标准型在性能和面积之间做了一个平衡。n i o s 处理器具有 以下特性: 完全的3 2 位指令集、数据总线和地址空间。 3 2 位通用寄存器。 3 2 个外部中断源。 单指令桶型以移位器。 计算6 4 位和1 2 8 位乘积专用指令。 对多种片上外设进行访问,提供片外存储器和外设接口。 在i d e 控制下,硬件辅助调试模块可对处理器进行启动、停止、单步和追 踪操作。 基于g n uc c + + 工具链。 1 2 3 识别系统总体方案 3 1 3a v a l o n 总线简介 a v a l o n 总线【1 3 】是a l t e r a 公司开发的用于n i o si i 嵌入式处理器的参数化接口 总线,由一组预定义的信号组成,是一种相对简单的总线结构。其主要用于连接 片内处理器与外设以构成编程单芯片系统。它描述了主从构建间的端口连接关系, 以及构件间通信的时序关系。为外设的设计者提供描述主外设和从外设中基于地 址读、写接口的基础,例如微处理器、存储器、u a r t 、定时器等外设。 接口规范定义了外设和a v a l o n 开关互联结构之间的数据传输。在没有主或从 接口先验知识的情况下,规范的互联策略允许任何主外设连接到任何从外设。 a v a l o n 接口描述了一个可配置的互联策略,允许外设的设计者限制支持某种特定 传输所需的信号类型,如地址、数据、片选等等。一个a v a l o n 外围设备可以使用 任何信号类型,这些都是依据外围设备接口逻辑需要而定制的。 a v a l o n 接口的主要功能如下: 分开的地址、数据和控制线,并提供最简单的片上逻辑接口; 最多1 2 8 位的数据宽度; 为同步的片上外设提供优化的接口; 动态处理具有不同数据宽度的外设之间的数据传输细节; 简单性:接口协议十分简单; 高性能:每个时钟周期可以进行一次传输; 资源的低使用率:提供一个节省片上资源的接口结构。 通常读或写数据的操作均在a v a l o n 总线和外围设备上进行交互,经过一次交 互后,a v a l o n 总线可以被其他设备占用。一般a v a l o n 总线传输可以分为主和从两 个相互独立的传输设备,即主端口和从端口;通过在读写数据的过程中主端口和 从端口以成对的方式出现,通过a v a l o n 总线进行互连。针对主端口和从端口均有 读、写两种操作,具体如下所述。 从端口的读操作 基本的从端1 3 传输是所有其他a v a l o n 从端口传输的参考点。它不包含总线规 范里规定允许的任何传输特性。下图为基本的从端口传输操作时序图: cdi i 蠢厂 一,。一一厂 , 黼峨籼麓搦搦翳翳励蒙= = = 画嚣硒凰匠= = 嘲爱缓搦凰翳麴圜 删凌麓塑琵琵豳囫r 磁豳隧琵葱滋圈 隧露麴塑缓霆邈琶露 隧塑殛露塑圜 州触豳豳翰豳磁豳豳豳豳圈 = j 殛匿= = 豳豳圈豳豳圈 图3 2 从端口的基本读操作 f i 9 3 2f u n d a m e n t a ls l a v er e a dt r a n s f e r 1 3 重庆大学硕士学位论文 时序说明如下: 1 ) 第一个周期开始于c l k 上升沿; 2 ) 从a v a l o ns w i t c hf a b r i c 到从端口的a d d r e s s 和r e a d 信号有效; 3 ) a v a l o ns w i t c hf a b r i c 对a d d r e s s 译码,输出有效的c h i p s e l e c t ; 4 ) 从端e 1 在第一个周期内在r e a d d a t a 上返回有效数据; 5 ) a v a l o ns w i t c hf a b r i c 在下一个c l k 上升沿捕获r e a d d a t a ,读传输到此结束。 下一个周期从这里开始,可以是另一个传输的起点。 对于从端口读传输,还有固定和可变两种等待状态,下面是时序图: ab co量 o k 厂 一。一厂 。一。厂 。 m r 8 隧豳滋琵鋈鬣二= 二二二二二:翅熊芝:二= 二二二= 二耀滋滋滋滋闳 蝴隧滋滋琵溺r 疆弦覆凌豳圈 州脯嘲譬豳豳豳豳豳r 一焉豳磁豳幽 图3 3 从端口固定等待周期写操作 f i 9 3 3s l a v ew r i t et r a n s f e rw i t hf i ) 【e dw a i t s t a t e bcde rah ij 味r 广m量厂 r 陬啊舯蜘搦雹凰圜c = 二二二= = = 燕匝函巫夔匿二= 二= = = 二 曩魈雹圈 嗍枷a 磁凌滋豳c = = 二二二= 玉j 亟西匿= = = 二= 二二= 怒滋鍪豳 慨隘滋盈f 分麓琵兹阁 洲琵霆滋凌潮r 1 1 飞隧圈 嘲删誓磁豳豳豳圈1 1 1 豳囵 图3 4 从端口的不定等待周期写操作 f i 9 3 4s l a v ew r i t et r a n s f e rw i t hv a r i a b l ew a i t s t a t e 从端口的写操作 基本从端口写传输是所有a v a l o n 从端口写传输的基础。它不包含a v a l o n 规范 允许的任何传输特性。基本从端口写传输由a v a l o ns w i t c hf a b r i c 发起,由a v a l o n s w i t c hf a b r i c 向从端口传输一个单元的数据。基本从端口写传输在一个时钟周期内 完成。下图为从端口基本写操作时序图: co 哦厂 一一厂1 删_ 岬嘲岫囊嬲嬲搦搦易易c = = j 匦圣亟塑互二= = 凋嬲圉搦獗圈魍啊 椭妇h 麓麴豳凌蕴琵翅圈 = = = = j 亟巫二= = = = 】圜瑙鍪越豳滋霾鬯圈 帅隧豳豳霪霪凌霪舅1 瞬圈塑露露凌圈 咖辨嗽嗣豳豳幽豳豳圈一豳豳豳豳豳豳 图3 5 从端口基本写操作 f i 9 3 5f u n d a m e n t a ls l a v ew r i t et r a n s f e r 1 4 3 识别系统总体方案 时序说明如下: 1 ) 写传输开始于c l k 上升沿; 2 ) a v a l o ns w i t c hf a b r i c 设黄w r i t e d a t a , a d d r e s s ,b y t e e n a b l e 和w r i t e 信号有效; 3 ) a v a l o ns w i t c hf a b r i c 对a d d r e s s 译码,并向从端口设黄c h i p s e l e c t 有效; 4 ) 从端口在下一个c l k 上升沿捕获w r i t e d a t a ,a d d r e s s ,b y t e e n a b l e ,w r i t e 和c h i p s e l e e t , 写传输到此结束。下一个周期从这里开始,也是另一个传输的开始。 对从端口写传输有两种等待周期:固定等待周期和可变等待周期。下面分别 为它们的时序图: bco5 嘛厂 一一一一厂1 一一一厂 揪- 燃哪州蜘麓戮嬲魉溺c = = = = = j 匾圈秀爱甄二= = = = = 嘲嬲愿翳嘲 _ 棚嘶鬣塑蕊圜( :二二= = 二二二:型蝗塑:二= 二二二= = 凄豳磁琵覆圈 一麓露鍪琵囫广霭琵蕴覆爱圈 嘲瑚城盈函磁图函翻r 鼍函豳豳圜 图3 6 从端口同定等待周期写操作 f i 9 3 6s l a v ew r i t et r a n s f e rw i t hf i x e dw a i t s t a t e abcde fgh lj 睐厂 厂 n曼广 广 蜘删e 趁宠搦圜( 二二二二= = = 囊匾互匦蕊垂二= = = 二二二 曩瑟瑟惑圈 糍盈滋豳c 二二二= = :玉j 巫透漉二= = = 二二二= 滋瑟露圜 州峙弦露圜1 一7 矿一磁滋滋圜 删霞戮滋圈溺r 1 飞飞搦圈 髓触州幽幽豳幽潮豳r r 一、簟豳豳 图3 7 从端口的不定等待周期写操作 f i 9 3 7s l a v ew r i t et r a n s f e rw i t l lv r i a b l ew a i t s t a t e 主端口的读操作 基本主端口读传输是其他所有主端口传输的基础。它不包含a v a l o n 规范允许的 任何传输特性。基本主端口读传输是由主外设发起,从a v a l o ns w i t c hf a b r i c 传输 一个单元数据到主端口。在最快的情况下,传输在一个周期内完成。若r e a d d a t a 还未准备好,则a v a l o ns w i t c hf a b r i c 变设置一个等待请求并使主端口暂停。当 a v a l o ns w i t c hf a b r i c 使等待请求无效时,主端口捕获r e a d d a t a ,传输结束。下图为 主端口读操作的时序图: 1 5 重庆大学硕七学位论文 ab cd 穗一一一。一。厂l 一厂 一一一一一一 - _ - - _ _ _ _ _ _ _ - _ _ - - - _ _ _ _ 一o - _ - _ _ - - - - _ - _ _ - - _ _ _ _ _ _ - - - _ 一k - - _ _ - - _ - _ _ - _ _ - _ _ _ - _ _ 蝴一删搦搦搦熬黧鹦瀚群二二= 量照獗蕊凰匠二二? 您殇殇搦搦渤搦嬲 w a t v e q t a 怫t 搦滋琵塑露匦蕊圈露 。凰瑟瑟凌霾凌圈 咐姚协盈豳豳函溺豳葱豳滋豳融豳豳 二二玉殛亟= 二 瞄函臣函豳溺豳圜 图3 8 主端口基本周期读操作 f i 9 3 8f u n d a m e n t a lm a s t e rr e a dt r a n s f e rw i t hn ow a i t s t a t e s 时序说明如下: 1 ) 第一个周期开始于e l k 上升沿; 2 ) 主端口设置a d d r e s s ,b y t e e n a b l e 和r e a d 有效; 3 ) 在第一个周期内从a v a l o ns w i t c hf a b r i c 返回有效的r e a d d a t a ; 4 ) 主端口在e l k 下一个上升沿捕获r e a d d t a ,并使其所有输出信号无效。读传输到此 结束,下个周期从这里开始,可以是另一个传输的开始。 下图为主端口具有等待周期的读传输, 诛广 厂可厂 厂 撒呐删由i 隧茏瑟溺i c 二二= 二二= 二鲑巫亟蛙西区二二二二二二二 圜魉盟圜 删糍露戮溺r 1 r _ 1 广1 豳囫圈 圳嘲删糍缀溺戮渤毖劳1 飞_ 、趱塑圈 m e c t b m 图3 9 主端口的具有等待周期读操作 f i 9 3 9m a s t e rr e a dt r a n s f e rw i t hw a i t - s t a t e s 主端口的写操作 基本主端口写传输是其他所有主端口传输的基础。它不包含a v a l o n 规范允许 的任何传输特性。基本主端口写传输是由主外设发起,从主端口传输一个单元数 据到主端口。下图为主端口读操作的时序图 a 囊c 哦厂1 _ 一一一。一一一厂 。 嘲- 慨b y l 删蜘曩搦搦搦易嬲嬲= = = j 匦垂两两圜= = = 量嬲您嬲励搦嬲飘 a r a d a t a 咖隧豳圈函蕴蕊塑露 磁滋豳蕊豳霾圈 帅孵豳豳豳豳函翻豳豳磁函警豳圈 图3 1 0 主端口基本写操作 f i 9 3 1 0f u n d a m e n t a lm a s t e rw r i t et r a n s f e rw i t hn ow a i t - s t a t e s 1 6 3 识别系统总体方案 时序说明如下: 1 ) 写传输开始于c l k 上升沿; 2 ) 主端口设置a d d r e s s ,b y t e e n a b l e 和w r i t e 有效; 3 ) 在该c l k 上升沿w a i t r e q u e s t 无效,因此写传输到此结束,在下个周期可以紧 跟着另一次传输。 下图为主端口具有等待周期的主端口写传输: 一 o i ,簟 f 蟪广 厂 广 广 蝴删e 隧塑塑豳i c 二= 二二= 二二蔓匦垂巫亟互二二二二二二二您塑目 嘲咄坤琵凌琵豳k := = = = = = = = 强函匠= = = = = = 二= 露塑豳豳 蝴e 骥塑豳豳矿磁沥琵圈 岫呻删磁瀚豳溺豳圈r _ 、置溺豳 图3 1 1 主端口有等待周期读操作 f i 9 3 11m a s t e rw r i t et r a n s f e rw i t hw a i t s t a t e s 3 1 4 系统硬件开发的s o p c 流程 n i o s i i 以软核方式【1 4 】【1 5 】提供给用户,并在a l t e r a 的f p g a 上实现了优化,用 于s o p c ( 片上可编程系统) 集成,最后在f p g a 上实现。n i o s i i 系统的硬件设 计流程就是为了定制合适的c p u 和外设,然后在s o p cb u i l d e r 和q u a r t u s l l 中实 现。在硬件设计过程中,实现s o p cb u i l d e r 工具可以灵活地定制n i o s i ic p u 的 许多特性,甚至指令。可以使用提供的口核来加快设计者开发n i o s i i 外设的速度, 提高外设的性能;也可以使用第三方的i p 核,或者使用v h d l 、v e r i l o g 语言来自 己定制外设。 外设定义完成之后,即可以对c p u 和各外设模块的特性、大小及在系统中地 址分配等进行设定。然后启动s o p cb u i l d e r 中的生成按钮,使之生成用于综合和 仿真的文件。接下去,使用q u a r t u s l i 软件锁定端口引脚,对生成的n i o si i 系统进 行仿真、综合、适配和下载。下图为s o p c 系统的开发流程: 1 7 重庆大学硕士学位论文 硬件系统设计规划 自定义外设、指令 定义n i o s 2 系统模块 生成m o s 系统模块 集成n i o s 2 系统模块到 q u a r t u s 2 e 程 引脚锁定、硬件编译 下载硬件到f p g a 图3 1 2s o p c 系统开发流程图 f i 9 3 1 2s o p cs y s t e md e v e l o p m e n tf l o w c h a r t 3 2 识别系统设计要求 识别系统需要实现对q r 条码自动识别的功能,在开发系统之前就应对系统确 立设计要求。影响识别系统的整体性能的好坏主要有两大因素:识别率和识别速 度。 首先,作为识别系统,识别率是最关键的因素,因此尽可能地提高对条码的 识别率是整个系统的首要目标,识别算法中对识别率影响最大的因素是条码图像 的预处理和从图像中提取出条码的符号信息。因此,为了提高系统的识别精度, 需要对识别算法进行改进。 其次,识别系统的识别速度也是重要的指标,如果识别时间过长,就不能符 合实际中的应用。影响识别速度的主要因素是识别算法的复杂度和算法的硬件化 程度,这些都将在后面的章节进行详细介绍。 除了系统识别精度,识别速度外,系统能长时间无故障运行及操作要求简单 也是设计应考虑的方向,再有则是系统的体积大小,体积的大小对未来的应用也 有着较大影响,在目前的发展方向下,条码识读系统的体积朝着越来越小的规模 方向发展。 最后则要求系统输出识别结果直观方便,应对不同的应用将结果直接快捷的 显示出来。 3 3 识别系统工作流程 条码识别系统通常由条码图像采集、识别核心模块和显示与存储这几大部分 组成,整个系统的工作流程示意图如图3 1 3 所示。 3 识别系统总体方案 条码 图像图像 识别 识别 显示 采集 采集 。 条码传送 。 核心 结果 与 图片 设备 模块 存储 图3 1 3 系统工作流程图 f i 9 3 1 3s y s t e mf l o w c h a r t 本系统中的条码采集设备由摄像头和f p g a 1 1 】采集模块构成,将条码图片采集 下来并传输到条码识别模块进行图像处理与识别。识别系统的所有工作都在识别 核心模块中完成。 图中的识别核心模块由图像预处理、条码符号信息提取和条码译码三大模块 组成。图像预处理先将在实际中采集到的条码图片进行处理,以除去环境干扰; 条码符号信息提取模块首先定位条码在图片中的位置,然后将条码符号信息从条 码中提取出来;条码译码模块是将原始信息从条码符号信息条码中恢复出来。 原始信息恢复出来后,就将信息实时地在显示模块中显示出来,如有需要还 可以存储在存储设备中。 3 4 识别系统结构方案及分析 根据以上系统的工作流程,把整个系统的功能分为六大模块,分别是条码采 集模块、控制模块、图像处理模块、条码符号信息提取模块、译码模块和显示模 块,如下图所示: 图3 1 4 系统结构图 f i 9 3 1 4s t r u c t u r eo fs y s t e m 下面对各个模块进行简单的介绍: 条码采集模块 条码采集模块主要功能是将通过摄像头采集到条码图像。此模块全部由 1 9 重庆大学硕士学位论文 v e r i l o g 语言f p g a 实现,以确保能实时准确得采集到条码图片,并即时地将采集 到的图像传输到缓存中保存,以供c p u 能在第一时间内将图像搬移到核心识别模 块中进行处理。 控制模块 控制模块在本系统中主要由按键和监控器组成,结构如下图所示: i 一一一一一一一 :i i i i 霜一一一j 图3 1 5 控制模块结构图 f i g3 15c o n t r o lm o d u l es t r u c t u r e 条码图像通过摄像头不断送入采集模块和控制模块中,控制模块通过l c m 监 控屏确定采集当前帧的图像,选取合适的条码图像,确保整个条码都在当前图像 里,从而可以有效的增加了识别系统的识别率。在操作人认为当前图像能满足系 统要求后,就可以按下按键,发送一个中断给c p u ,c p u 就立刻将缓存中的图像 搬移到识别核心模块中进行数据处理。 图像处理模块 图像处理模块是对其后的识别工作做铺垫,图像预处理的好坏会对后面的识 别效果的好坏造成影响,针对q r 码图像的物理特征,将条码图像进行如下预处理 操作: 在图像处理模块中,首先为了去除噪声影响需要对图像进行滤波处理,然后 要对拍摄到的图像进行亮度均衡化处理【1 7 】,防止图像是在光暗不均的环境中拍摄 到的,接下来要对图像进行二值化,这样图像就只剩下黑白两色,识别系统就可 以通过定位算法确定条码在图像中的位置,从背景图像中隔离出来,最后应用矫 正算法对条码图像进行修正,这样就完成了整个图像预处理过程,为后面的符号 信息提取作准备。 条码符号信息提取模块 条码符号信息提取模块是影响识别率很重要的一环,是下一步对条码进行译 码的基础。在接收到图像预处理过的图像后,能否精确地提取出条码符号信息直 3 识别系统总体方案 接影响了是否能正确地译码成功,因此通过对q r 码物理特征的研究后,本系统采 用了一种改进后的网格采样算法,本文将在后面详细介绍。 译码模块 译码模块是接受到条码符号信息后,对其进行直接译码,最终得到条码图形 携带的原始信息的过程,主要是由确定版本、去掩膜、读取数据码字、对数据码 字进行r s 纠错和根据码字得到原始信息等步骤组成。 显示模块 显示模块主要是1 2 8 6 4 液晶显示屏,c p u 将译码后的q r 码原始信息传送到 显示屏上显示,完成本系统的最终目标。 3 5 本系统的难点 本系统的的开发难点在于尽可能地提高识别率,同时又要考虑识别算法在系 统中的运行速度: 条码的识别率问题 由于对条码的拍摄是在各种环境下进行的,因此识别环境对采集到的条码图 片影响很大,采集时的强光的照射,各处反光的不均匀,条码的损坏和噪声的干 扰都会对识别算法增加要求,因此识别算法的选取显得十分重要,识别率的提高 是系统首要考虑因素。 识别系统的速度问题 识别率的提高,伴随而来的是算法的复杂度的提高,在本系统硬件环境固定 的情况下,必然会导致运行速度的下降,如果系统速度太慢,满足不了实时性的 要求,系统也就失去了实用价值,因此在选取识别算法的同时又必须要考虑到算 法复杂度,必须找到一个识别率既比较高,运行速度也在可以接受范围内的一个 平衡点,这个平衡点也是本课题的一个难点。 系统资源问题 本系统所在的开发板资源总数是固定的,各个硬件模块和软件算法的硬件化 都要耗费f p g a 的逻辑资源,因此在搭建系统的同时也必须考虑到资源的利用率, 尽可能地用较少的资源实现高性能的识别系统。 2 l 4q r 条码识别的图像预处理及提取条码符号信息 4q r 条码识别的图像预处理及提取条码符号信息 对条码进行图像预处理的目的是为提取条码符号信息作准备,图像处理的好 坏也直接影响到能否精确地提取符号信息。图像的预处理过程,实际上是条码图 像增强的处理过程。精确的条码识别高度依赖于对条码特征中基本正方形小模块 的识别,但由于各种客观原因,从摄像头上采集到的原始条码图像会不同程度地 受到采集时的设备环境和被采集人的工作环境及生活环境等综合因素的影响,图 像中往往包含有很多噪声,造成条码图像质量下降。因此,采集到原始条码图像 后,需要对图像进行预处理。下图是图像处理流程图: 原始 : 图像处理模块 ! 二砸丑幢雪( 丑e 至h 虱匿图 l 一一一一一一一一一一一一一一一一一j 图4 1 图像预处理流程图 f i g4 1p r e - p r o c e s s i n gm o d u l ef l o w c h a r t 条码图像预处理过程包括了图像的中值滤波、自适应亮度均衡化、迭代二值 化、图像定位、图像矫正等步骤。图像处理后再提取出条码符号信息则是为译码 作准备。下面对每个步骤作详细的介绍: 4 1 中值滤波 实际生活中所采集到的条码图像,有可能因为某些因素影响( 特别是环境) , 会产生一定的噪声,其噪声种类多为颗粒噪声和脉冲干扰。采用中值滤波可以克 服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及颗粒噪声最为有效。 它是1 9 7 1 年由j w j u k e y 首先提出并应用在一维信号处理中,后来被二维图像信 号处理技术所引用。中值滤波属于局部平均平滑技术,由于它在实际运算过程中 并不需要图像的统计特性,所以使用比较方便。 线性滤波器中的低通滤波器是用来减小噪声干扰的,但它存在的问题是在减 小噪声干扰的同时也钝化了图像的边缘和尖锐的细节,并且随着模板尺寸的增大, 图像越模糊,图像细节丢失也越多,与之相比,非线性滤波器中的中值滤波器在 去除噪声的同时,可以比较好的保留边的锐度和图像的细节。因此本文选择中值 滤波器对q r 码图像做中值滤波来减小噪声的干扰【1 9 】【2 0 】【2 l 】。 中值滤波器是一种典型的低通滤波器,主要目的是保护图像边缘,同时也能 噩庆人学硕f ? 学位论文 上除噪声。与加权平均方式的平滑滤波不同,中值滤波是将领域中的像豢扶度级 排序取其中叫值为输出像素。中值滤波的效果依赖于两个要素:领域的空删范围 和中值计算l 】涉及的像素数( 当空间范围较大时般只取若干稀疏分布的像素作 中值计算) 。巾值滤波能够神r 抑制随机噪声的同时不使边缘模糊,因而受到欢迎。 中值滤波的矗法简单,易于实现,能够较好地保护边界,但有时会丢失图像中的 细线和小块目标区域。 中值滤波是采用个含有奇数个点的滑动窗口,用窗口中各点敷度值的中值 束替代窗口中心点像索的扶度值。二维中值滤波器窗r 1 形状有多种,如线状、方 形、十字形、圆彤、菱形等。 对条码例像进行中值滤波时将窗口内像素排序,生成单调数据序列,二维 中值滤波结果为序列中最中自j 的一个数来代替当前点。如下图所示; 一 目 图4 2 中值滤波示意圈 f i 9 42 m e d i a n f i l t c t l n gs k e l c h m a p 本课题采用了3 3 的模块对图像进行中值滤波,滤波后的图像如下图所示 幽43 中值滤波后的图像 f i 9 4 3 i m a g ea f t e r m e d i a a f i l t e r i n g 4q r 条码识别的图像预处理及提取条码符号信息 4 2 自适应亮度均衡化及二值化 因为在现实生活中采集到的条码图像是在光照不均的情况下进行的,这将导 致拍摄到的q r 码发生一定的扭曲,从而难以确定二值化的阈值大小,所以需要首 先对拍摄到的图片进行自适应亮度均衡化处理,再进行迭代二值化【2 2 】处理。 4 2 1 自适应亮度均衡化 首先,先处理图片的第一行像素,将其均等地分成n 块( 图4 4 ) ,每块有c 个像素,分别是昂。,昂:,晶,图像一行有k 个像素,因此有k = n x c 。算出 每块的灰度等级乩,公式如( 4 1 ) : s _ , : (41)n m a x _ m ( p , v , - p | “c ) 肘 ,一l 这里脚一m ( 昂。) = 以,h 为这个块中最大的m 个像素点的灰度 值,算出它们的平均值,来减小图像的噪声。 前后两块的差值为: d 磁0 = i 龀一龀+ l ( 4 2 ) 同时,采用下面的算法来保证图像的质量:如果差值d 帆大于了某一个阈值 ( d 历) ,将这个块再分为均等的两块,直到d 溉小于阈值或者块的大小不大于 m ,如图( 4 5 ) 所示。 图像宽度 图4 4 将一行数据分为n 块 f i 9 4 4d i v i d eo n el i n ed a t ai n t onb l o c k s ls 2 s 9s l o l ” ” s ls 2 l 1 7虻幻硝 i s ls 2 图4 5 块分裂算法 f i 9 4 5b l o c ks p l i ta l g o r i t h m 重庆大学硕士学位论文 然后在相邻的两个块间用下列公式来计算每个像素点的灰度等级: :坠坐鼍幽,o f c ( 4 3 ) l 得到后,就可以根据它的大小来自适应地调整每个像素点的增益。如果 值小,意味着图像的颜色较暗,就可以适当的增加增益,反之可以适当的减少增 益,从而达到控制图像对比度的效果。自适应增益控制因子( a g c ) 可以f l j ( 4 4 ) 式来 确定: d r a g c f = 等0 f 1 0 0 则结柬;否则k = k + l ,重新进行第二步运算。 将所有的像素点= 值化。 重庆大学硕士学位论文 下图为二值化后的效果图: 二 图4 8 二值化后的图像 f i g4 8i m a g eo f b i v a l e n c ep r o c e s s i n g 4 3 图像定位 图像定位即是确定条码的具体位置,将条码从背景图片中单独提取出来。在 研究q r 码基本特征的时候发现,q r 码有三个寻像图形,分别位于左上角、右上 角和左下角,如图所示。每个寻像图形可以看作是由三个重叠的同心的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论