设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Computer Science and Application 计算机科学与应用, 2011, 1, 57-62
http://dx.doi.org/10.12677/csa.2011.12012 Published Online September 2011 (http://www.hanspub.org/journal/csa/)
Copyright © 2011 Hanspub CSA
Two-Dimensional Bar Code Recognition and Voice
Broadcast Based on ARM
Shiyao Yang1, Yaohe Liu2, Zhi Yang2
1School of Electrical and Electronic Engeering, Hubei University of Technology, Wuhan
2School of Mechanical Engineering, Hubei University of Technology, Wuhan
Email: yangshiyao621@126.com
Received: May 27th, 2011; revised: Jul. 19th, 2011; accepted: Aug. 1st, 2011.
Abstract: With the development of communications technology and computer technology barcode technol-
ogy came into being a new type of automatic dentification technology. Two-dimensional bar code is based on
one-dimensional bar code, and high-density high information content on the barcode. Large amount of in-
formation can be encoded in the small area. Two-dimensional bar code is itself a complete data file which is
to achieve certificates, cards and other information storage, portable and can be automatically readable by
machines. Acquisition environment for bar code identification system and portability features of uncertainty,
design a two-dimensional bar code identification and voice broadcast system based on ARM9. The system
takes Samsung S3C2440 chip as the core processing unit, uses embedded operating system μC/OS-II as de-
velopment platform. By C language programming achieving two-dimensional bar code image recognition,
code word decoding and voice broadcast. The results show that transplantation, the system can realize the
two-dimensional bar code such as PDF417, Data Matrix code, the letter codes of Chinese and so on, can read
them by voice broadcast. The system has high recognition rate and reliability.
Keywords: Two-Dimensional Bar Code; PDF417code; Qrcode; S3C2440; ΜC/OS-II; Recognition;
Broadcast
基于 ARM 的二维条码识别与语音播报研究
杨世耀 1,刘幺和 2,杨 志2
1湖北工业大学电气与电子工程学院,武汉
2湖北工业大学机械工程学院,武汉
Email: yangshiyao621@126.com
收稿日期:2011年5月27日;修回日期:2011 年7月19 日;录用日期:2011 年8月1日
摘 要:条码技术是随通信技术,计算机技术的发展应运而生的一种新型的自动识别技术。二维条码
是在一维条码基础上形成的高密度、高信息量的条码,可以将大量信息在小区域内编码,它本身就是
一个完整的数据文件,是实现证件、卡片等信息存储、携带并可以通过机器自动识读的理想方法。针
对条码采集环境不确定和识别系统可移植性特点,设计一种基于ARM9 的便携式二维条码识别及语音
播报系统。该系统以三星公司S3C2440芯片为核心处理单元,嵌入式操作系统 μC/OS-II 为开发平台,
通过 C语言编程,实现二维条码图像识别、码字解码及语音播报。移植测试结果表明,该系统能够实
现对 PDF417 码、Data Matrix码、汉信码等二维条码的全方位识读以及语音播报,识别率高,可靠性
好。
关键词:二维条码;PDF417 码;QR 码;S3C2440;μC/OS-II;识别;播报
1. 引言
条码技术自问世以来,发展迅速,受到人们的普
遍关注。当前条形码的应用在商业社会中产品和信息
流通中发挥着举足轻重的作用。条形码取代了传统的
杨世耀 等基于 的二维条码识别与语音播报研究
58 | ARM
通过键盘输入数据,提高了数据精确度,特别是光学
扫描设备与计算机网络相连在各大超级市场随处可
见。条码技术是在计算机的应用实践中产生和发展起
来的自动识别技术,条码技术的应用大大的提高了工
作效率,提高了数据采集和信息处理的速度,为科学
化管理和现代化做出了积极的贡献。
但是,随着现代高新技术的发展,迫切需要用条
码在有限的几何空间内表示更多的信息,从而满足千
变万化的信息的需要。一维条码由于受到信息容量的
限制和使用时对数据库的依赖,使得在一些场合使用
十分不方便,而且效率很低。因此人们迫切希望发明
一种新的条码,除具有普通条码的优点外,同时具有
容量大、可靠性高、保密防伪性强、易于制作、成本
低等优点[1]。二维条码正是为了满足人们的这种需求
而产生的,因而应用范围十分广阔,具有非常重要的
现实意义。
ARM9 芯片由于其体积小、性能强、功耗低、可
靠性高,并且能够移植嵌入式操作系统等特点,适合
开发条码识别设备。而 μC/OS-II 具有模块化、结构化
及与处理器无关等特点。所以把 μC/OS-II 操作系统移
植到 ARM9 上作为开发二维条码识别的软件系统,具
有价格低廉、处理速度快、体积小、界面美观等优点。
2. 二维条码
一维条码可直接显示英文、数字、简单符号,但
贮存数据不多,主要依靠计算机中的关联数据库,且
保密性能不高,损污后可读性差。一维条码只是在一
个方向(一般是水平方向) 表达信息,而在垂直方向则
不表达任何信息,其一定的高度通常是为了便于阅读
器的对准。二维条码可直接显示英文、中文、数字、
符号、图型,而且贮存数据量大,可存放 1 K字符,
可用扫描仪直接读取内容,无需另接数据库,保密性
高(可加密)[1]。安全级别最高时,损污 50%仍可读取完
整信息。二维条码是在水平和垂直方向的二维空间存
储信息的条码,所以是大容量、高可靠性信息实现存
储、携带并自动识读的最理想的方法。
按照编码原理二维条码可分为行排式二维条码和
矩阵式二维条码。行排式二维条码(又称:堆积式二维
条码或层排式二维条码),其编码原理是建立在一维条
码基础之上,按需要堆积成二行或多行。它在编码设
计、校验原理、识读方式等方面继承了一维条码的一
些特点,识读设备与条码印刷与一维条码技术兼容。
但由于行数的增加,需要对行进行判定。其译码算法
和软件也与一维条码不完全一样。有代表性的行排式
二维条码有CODE 49、CODE 16 K、PDF 417 等。矩
阵式二维条码是在一个矩形空间通过黑、白像素在矩
阵中的不同分布进行编码。在矩阵相应元素位置上,
用点(方点、圆点或其他形状)的出现表示二进制“1”,
点的不出现表示二进制的“0”,点的排列组合确定矩
阵式二维条码所代表的意义。矩阵式二维条码是建立
在计算机图像处理技术、组合编码原理等基础上的一
种新型图形符号自动识读处理码制。矩阵式符号没有
起点与终点,但是它们有特殊的“定位符”,定位符
指明了符号的大小和方位。矩阵式符号和更新的重叠
式符号法使用数学算法从损坏的符号中找到信息。具
有代表性的矩阵式二维条码有:Code One、Maxi Code、
QR Code、Data Matrix等。常见的二维条码见表 1所
示,图 1所示为部分二维条码图片。
3. 硬件系统平台
ARM 微处理器包含一系列的内核结构,以适应不
同的应用领域,选用以 ARM920T 为核心的 S3C2440
芯片(图2),主频高达400 MHz,支持 Thumblb(16
位)/ARM(32 位)双指令集,能很好的兼容 8位/16 位器
Table 1. Common two-dimensional bar code
表1. 常见的二维条码
类型 条码名称 适用范围
Code 49 小型包装容器或物品
行排式 PDF417 EDI/高品质运输/产品行销/设备管理
Data Matrix 小零件标识/电路板的零组件
QR Code 工业自动化生产线管理/表示中日文字
Maxicode 搜寻追踪/包裹的分拣和跟踪
GM 航空/电子/自动化/制造业/医疗卫生
汉信码 预付款卡/ID 卡/程序卡/自动贩卖机的记录卡
矩阵式
龙贝码 信息安全防伪/证照管理/物品管理
Figure 1. Common two-dimensional barcode image
图1. 常见的二维条码图片
Copyright © 2011 Hanspub CSA
杨世耀 等基于 的二维条码识别与语音播报研究 59
| ARM
件;大量使用寄存器,指令执行速度更快;大多数数
据操作都在寄存器中完成;寻址方式灵活简单,执行
效率高,适应于大多数的高速处理应用。
μC/OS-II 操作系统是一个适合下一代互连工业自
动化设备的理想小体积嵌入式平台。由于使用了
MSMQ(Mierosoft Message Queuing)这样的先进应用
服务,μC/OS-II 使实现与工厂生产现场所有 IT 设施
的全面集成成为可能[2]。它还具有极大增强了的实时
支持以提供时间关键的嵌入应用程序所需要的边界限
制、确定性的响应时间和控制。因为 μC/OS-II 能从闪
存磁盘中启动,也就避免了暴露在灰尘、高温、和震
动环境下,从而使它可以适应甚至是最恶劣的生产环
境。鉴于以上优点,基于 ARM9 和μC/OS-II的软硬
件平台适于便携式图像处理,不仅能够识读二维条码,
而且还可以应用在诸多工业现场的二维条码识读。
整个识别到播报的系统由四个部分组成:图像采
集、解码、数据处理、语音播报。二维条码图像采集
通过图像式阅读器E3000(光电耦合传感器)进行采集,
图像经过预处理输出是通过装置EVK3000 实现,采
集到的数据送到S3C2440 芯片中、再通过串口送到语
音播报模块进行语音播报。硬件结构框图见图 3所示。
条码图像传感器是该系统的关键,用来完成二维
条码图像采集。本系统二维条码的采集是利用光电耦
合传感器(CCD)E3000 进行采集,E3000 利用光电感应
原理将二维条码信息转化为二进制数据。CCD (Charge
Coupled Divice)——电荷耦合装置是一种电子自动扫
Figure 2. S3C2440 chip
图2. S3C2440芯片
Figure 3. Hardware block diagram of the erminal Identification
图3. 识别终端硬件框图
描的光电探测器,由光电二极管构成扫描器首先将条
码符号的整个图像呈现在线阵的 CCD上,然后 CCD
对其上的光信号进行光电转换达到读取数据的目的。
CCD 为电子耦合器件,比较适合近距离和接触阅读,
它的价格没有激光阅读器贵,而且内部没有移动部件。
CCD 阅读器使用一个或多个 LED,发出的光线能够覆
盖整个条码,条码的图像被传到一排光探测器上,被
每个单独的光电二极管采样,由邻近的探测器的探测
结果为“黑”或“白”区分每一个条或空,从而确定
条码的字符,换言之,CCD 阅读器不是注意的阅读每
一个“条”或“空”,而是条码的整个部分,并转换
成可以译码的电信号[3]。
语音播报模块最小系统包括:控制器模块、
SYN6288 语音合成芯片、功放模块和喇叭。主控器和
SYN6288 语音合成芯片之间通过 UART 接口连接,控
制器可通过通讯接口向 SYN6288 发送控制命令和文
本,SYN6288 把接收到的文本合成语音信号输出,输
出的信号经功率放大器进行放大后连接到喇叭进行播
放(图4)。
语音播报模块采用的是 SYN6288 中文语音合成
芯片,SYN6288 通过异步串口(UART)通讯方式如图 5
所示,接收待合成的文本数据,实现文本到语音的(或
TTS 语音)的转换。芯片支持任意中文文本的合成,可
采用 GB2312、GBK、BIG5 和Uhicode 四种编码方式。
Figure 4. Minimum system block diagram o f voice broadcast
module
图4. 语音播报模块最小系统框图
Copyright © 2011 Hanspub CSA
杨世耀 等基于 的二维条码识别与语音播报研究
60 | ARM
Figure 5. Communication of the asynchronous serial port
图5. 异步串口(UART)通讯方式
芯片支持英文字母的合成,遇到英文单词时按字母方
式发音。每次合成的文本量可达 200 个字节。
SYN6288 语音合成芯片的引脚图和封装信息如
图6,7。
4. 系统软件设计
终端采用嵌入式操作系统 μC/OS-II作为系统软件
来管理和维护各种软硬件资源。系统上电首先初始化
各个模块,进入操作系统运行平台,然后触发摄像头
采集条码图像信息。在嵌入式平台实现二维条码的识
别时,其图像采集通过摄像头抓拍的方式,图像由于
1
2
3
4
5
6
7
8
9
10
11
12
13
14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
VSSIO0
VSSIO0
VSSIO1
VDDIO0
VDDIO1
Ready/Busy
Res.
VSSPP
VDDPP
VSSPP
BPO
BNO
NC
NC NC
RxD
TxD
VDDA
VSSA
XOUT
XIN
REGOUT
CVDD
VDDIO2
VSSIO2
RST
CVSS
VSS
Figure 6. The pin of speech synthesis chip
图6. SYN6288语音合成芯片的引脚图
Figure 7. The packaging information of SYN6288 speech
synthesis chip
图7. SYN6288语音合成芯片封装信息
采光不均、抓拍角度等原因造成条码模糊或存在一定
的旋转角度,因而在进行条码定位和解码之前,必须
对图像进行预处理操作,改善图像质量[4]。S3C2440
调用数据进行图像预处理,包括中值滤波,去除由于
摄像头本身的成像质量或者条码在使用过程中的破损
涂抹等原因产生的盐粒噪声和毛刺噪声,图像二值化
处理,图像定位和旋转等,预处理后的图像信息再进
行条码识别和解码。下面以 PDF417 码、QR 码为例介
绍解码过程。
PDF417 码的识别:将条码的条空具体的位置确
定下来,并求出每个条空所代表的模块数序列。即先
确定 PDF417条码的层高和层序,然后对每一层进行
条空定位,最后将条空宽度序列翻译为单元模块数序
列[5]。PDF417 码的解码:得到了 PDF417 条码符号字
符各条、空单元的模块数序列后,通过数据库查询,
即PDF417 条码的符号–码字集输入的数据库中,程
序通过 ODBC 与数据文件进行联接,由条空单元的模
块数序列得到其对应的条码码字。然后使用 RS 纠错
算法对数据码字进行纠错以得到正确的编码数据;然
后将编码数据按照编码格式进行解码,还原为原始的
编码信息,并将结果保存并输出[6]。条码识别与解码
流程图如图 8所示。
PDF417 码图像的译码程序为面向对象程序,主
要包括三个类:1) CbmpObject:完成对程序入口数据
BMP 文件进行包装处理,判断文式,读出点阵数据等
工作;2) CstdDataObject:程序的核心类,完成对点阵
数据中条码的搜索、判断、数据译码等工作;3)
CdisplayDataView:对最终数据输出显示。QR 码解码
流程图如图 9所示。
5. 实验结果
系统硬件环境以 PentiumIV 微机系统为核心,图
像的采集来自扫描仪(分辨率为2000 dpi),按照 256
色BMP 灰度图像的格式存储在 PC 机硬盘上。系统的
软件环境是Microsoft WinXP 操作系统,C语言编写,
独立编写的程序规模有 2500行,整个程序在 Visual
c++6.0 开发环境下调试运行。
对二维条码进行扫描,结果表明能正确采集到
PDF417 条码图像,识别时间在 1.5 s以内,对于轻微
有损或歪曲的图像基本能识别,总的识别率在 90%左
Copyright © 2011 Hanspub CSA
杨世耀 等基于 的二维条码识别与语音播报研究 61
| ARM
Figure 8. Decoding process of PDF417 code
图8. PDF417码解码流程
右,能正确显示识别结果,并可以通过编写串口程序
将数据传输到 SYN6288 语音合成芯片中对条码所存
储信息进行播报。
通过对 20 幅二维条码图像不同角度的采集译码,
对100幅图像进行了实验。结果表明此二维条码识别
系统运行稳定,识别率达到了90%,运行实验结果如
表2。
6. 总结
本文介绍了一种基于ARM9 和μC/OS-II 操作系
统进行二维条码识别及语音播报的便携式终端识别系
Table 2. Statistical recognition results
表2. 识别结果统计
待识
别条 正确 拒识 错误 正确 拒识 错误率
码图 识别 别条 条码 识别 别率
像个 条码 码个 数 率
数 个数 数
100 90 6 4 90% 6% 4%
Figure 9. Decoding process of QR code
图9. QR码解码流程
统。系统以 S3C2440 为数据处理核心,ARM9 内核移
植μC/OS-II 操作系统,调度和管理各种软硬件资源。
实验证明该系统能实现PDF417、QR 码等二维条码的
全方位识读,并能显示和传输识读数据最后进行播报,
且系统结够简单、体积小、功耗低、可靠性高、识别
率较好、播报效果理想。随着二维条码应用越来越广
泛,该系统将能够应用在诸多工业现场的二维条码识
读过程中。
参考文献 (References)
[1] 张玲, 胡东红, 孔华锋, 刘干. 二维条码码图结构特性分析[J].
湖北大学学报(自然科学版), 2004, 30(3): 226-231.
[2] 熊爱民. 便携式条码采集器的研制[J]. 华南师范大学学报(自
然科学版), 1996, 41(3): 98-101.
[3] E. Ohbuchi, H. Hanaizumi, and L. A. Hock. Barcode readers
using the camera device in mobile phones. Proceeding of the
2004 International Conference on Cyberwodds, 2004: 260-265.
[4] 苟中魁, 张少军, 李忠富, 金剑. 一种基于极值的自适应中值
滤波算法[J]. 红外与激光工程, 2005, 34(1): 98-101.
Copyright © 2011 Hanspub CSA
杨世耀 等 | 基于ARM 的二维条码识别与语音播报研究
Copyright © 2011 Hanspub CSA
62
[5] 李建勋, 解建仓, 张栓新, 智勇. RS码技术在 PDF417 码纠错
码编译码中的应用研究[J]. 计算机工程与应用, 2007, 43(17):
198-201.
[6] 万菁. 二维条码的编解码及系统实现[D]. 上海交通大学,
2007.

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.