基于Android嵌入式平台的QR码识别系统
扫描二维码
随时随地手机看文章
摘要:介绍了QR 码的基本结构,分析了在基于Android 嵌入式平台上QR 码图像数据的二值化、定位、旋正等图像的预处理,进而实现对QR 码进行解码。经测试表明,系统对倾斜、模糊的QR 码都可以快速地识别。
QR 码又称快速响应矩阵码,是日本Denso 公司于1994 年开发的一种二维码,它具有信息密度高、可全方位识别、可靠性高等优点,并可以很好地表示汉字。
我国于2000 年发布了QR 码的国家标准,随着QR 码在各领域的推广和智能手机的快速发展,如何在智能手机中较好地识别QR 码是一项值得研究的课题,文中将主要讨论在Android 平台下识别QR 码。
1 QR 码符号结构
QR 码属于矩阵式二维条码,每个QR 码符号都是由正方形模块组成的一个正方形阵列结构,它由功能图形和编码区域组成,功能图形不用于数据编码,它包括寻像图形、分隔符、定位图形和校正图形。编码区域包括数据码字、纠错码字、版本信息和格式信息。QR码共有40 种规格,分为版本1 ~ 版本40,规格为: 21模块× 21 模块~ 177 模块× 177 模块。QR 码具有高信息密度、高识别速度以及高可靠性等特点。QR 码的符号结构如图1 所示。
图1 QR 码符号结构
2 系统的流程
系统在基于Android 平台上使用Java 和C ++ 语言一同实现。系统主要分为图像采集模块、图像预处理模块和条码识别模块。图像采集模块主要利用摄像头来完成条码图像的采集,并将采集的图像在屏幕上显示;图像预处理模块主要是对采集的条码图像进行灰度、二值化、定位、矫正等处理,条码识别模块主要根据QR 码标准来对条码数据进行提取。系统流程图如图2 所示。
图2 系统流程图