摘要: 简单介绍了QR码的基本结构,分析了在基于WinCE的嵌入式平台上QR码图像数据的灰度化、滤波、二值化、定位及矫正等预处理的实现过程。重点讨论了系统在WinCE平台上如何实现实时图像采集的问题,并设计了一个基于WinCE手机移动平台的QR码识别系统。
引言
目前,条码技术,尤其是二维条码技术应用广泛。2006 年, 中国移动正式推出了手机二维条码业务,主要应用于移动增值服务。2009年,铁道部门正式用QR码取代一维条码应用于火车票票据的检测。可以预见随着3G时代的到来、现代物流业的发展以及物联网的推广,条码识别和应用必将得到全面的飞速发展。
1 QR码简介
QR码是由日本Denso公司于1994年9月研制的一种矩阵二维条码符号。它具有信息容量大、可靠性高、可表示文字图像等多种信息、保密防伪性强等优点,还具有高速全方位识读、能有效表示中国汉字与日本汉字等主要特点。如图1所示,每个QR码符号由编码区域和功能图形组成,其*能图形包括位置探测图形、分隔符和校正图形。
图1 二维条码QR码
2 系统总体设计
2.1 系统硬件结构
图2 WinCE硬件架构
本系统采用基于WinCE嵌入式的智能手机为硬件平台,其硬件结构如图2所示。主处理器DSP上外接摄像头控制器、LCD控制器、SRAM控制器、通用GPIO口、UART口等。摄像头完成图像数据的采集后,系统会在SRAM中创建一片视频帧缓冲区,通过Allocator组件来进行动态管理,将捕捉到的图像一路传给主处理器DSP进行图像实时处理,另一路传给LCD控制器进行图像的预览。主处理器负责主界面的显示/条码的实时识别和解码,以及输入信息的处理。
2.2 系统软件流程
系统软件在基于WinCE 6.0的Windows Mobile 5.0 Pocket PC和Windows Mobile 5.0 SmartphONe平台上使用C++语言实现。软件主要分为图像采集模块、图像预处理模块、识别解码模块和应用模块4个模块。图像采集模块主要完成条码图像的采集,一方面通过摄像头进行数据采集实时解码,另一方面把采集的图像数据送屏幕显示。图像预处理模块主要是对采集的QR码图像进行预处理,包括灰度化、中值滤波、二值化等,为识别解码做好前期准备工作。识别解码模块主要功能包括QR条码的检测、定位、分割、识别以及条码解码。应用模块主要包括发送邮件、拨打电话、访问网址、存储条码信息和短信应用等。软件流程如图3所示。
图3 软件设计流程
来源:维库开发网