《二维码的生成与解码毕业设计.doc》由会员分享,可在线阅读,更多相关《二维码的生成与解码毕业设计.doc(56页珍藏版)》请在三一办公上搜索。
1、二维码的生成与解码摘 要随着信息技术的发展,智能移动终端的不断普及,二维码的便捷性,决定了二维码技术具有良好的应用前景. 二维码是按章某种规律在二维空间中分布的黑白相间的几何图形,主要用于表示数据,其优点是方便,快捷.目前光蛋用于电子商务,票务系统等.可以说二维码与人们的生活息息相关.作为一项前沿技术,二维码更赋予了神秘的面纱.本系统主要目的是让二维码的使用更加便利,让二维码真正的走到寻常人间.因此二维码的生成与解码的课题研究无论从理论上还是在实践上都具有十分重要的意义。本文结合与市面上常见的工程项目,完成如下的几项内容:第一,介绍二维码的国内外研究趋势,以及二维码的主要类别,特点,应用,实现
2、对二维码的深刻的理论研究。第二,探讨面向android手机的图像处理技术.因为手机的处理能力有限,一些效果不错但是处理时间开销大运算复杂的经典处理方法并不适用,如何使用时间复杂度都合适的方法识别快速响应码成为本文探讨的重点。第三,研究二维码生成采用的不同算法对识别的影响,开发二维码生成与解码基于手机的系统(APP)。关键字:二维码;快速反应码;定位;androidQR code generation and decodingAbstractAlong with the development of information technology, intelligent mobile termi
3、nal expansion, qr code convenience, determines the qr code technology has good application prospect. Qr codes chapter according to certain rule in 2 d space distribution of the geometry of black and white alternate with, is mainly used to represent data, its advantage is convenient, fast. The curren
4、t light egg for e-commerce, ticketing system, etc. To say the qr code is closely related to peoples life. As a leading edge technology, qr code gives more mysterious veil. This system main purpose is to let the qr code to use more convenient, let the qr code really went to the common room. So the qr
5、 code generation and decoding of research both in theory or in practice is of great significance. In this paper, combining with common engineering projects on the market, complete the following several contents: First, introduce the research trend of qr code, and the main categories of qr code, char
6、acteristic, application, realize the profound theoretical research of qr code. Second, explore the image processing technology for android mobile phones. Because of mobile phone processing ability is limited, some good but processing time spending large computing complex classical processing method
7、is not applicable, how to use the time complexity is suitable method to identify the response code to become the focus of this paper. Third, study the qr code generation using different algorithms to identify the influence of development of qr code generation and decoding system based on mobile phon
8、es (APP). Key words: QR code; rapid response code; positioning; android目录摘 要iAbstractii1 绪论11.1 论文研究的背景及意义11.1.1 论文研究的背景11.1.2 课题研究的意义11.2 课题主要目的21.3 本系统的开发环境21.4 本课题的主要成果及论文结构21.4.1 主要成果21.4.2 论文的主要结构21.5 本章小结22 相关技术分析32.1 android技术32.2 二维码42.2.1 什么是二维码:42.2.2 国外研究发展现状42.2.3 国内研究发展现状42.2.4 国内外发展对比分
9、析52.3 QR码的结构与编码理论52.3.1 什么是QR CODE52.4 QR码的编码技术62.5. 本章小结73 二维码android手机识别系统设计83.1 需求分析83.1.1 概述83.1.2 任务概述83.1.3 需求规定93.2 系统设计103.2.1 概述103.2.2 编写目的103.2.3 定义113.2.4 总体设计113.2.5 运行设计143.2.6 系统出错处理153.3 基于android的二维码识别系统概要设计153.3.1 本系统包含模块153.3.2 系统主要模块163.3.3 系统流程图183.4 导入项目183.4.1 简化过程183.4.2 解码原理
10、193.5 Android扫描系统概括223.6 Android camera的调用243.7 生成二维码的功能实现263.8 其它处理功能的实现274 Android 条形码扫描功能结果展示294.1 Android条形码模拟器及配置文件294.2 Android 识别条形码扫描功能和生成模块介绍304.3 二维码扫描结果展示315 系统调试及测试335.1 程序调试335.2 程序的测试335.2.1 测试的重要性及目的335.2.2 测试的步骤345.2.3 测试的主要内容345.3 本章小结35结 论36参考文献37致 谢38外文原文39中文翻译501 绪论1.1 论文研究的背景及意义
11、1.1.1 论文研究的背景条形码技术起源于二次大战以后。在40年代后期,美国JoewoodLand工程师就开始研究用条码表示食品项目及相应的自动识别设备,并于1949年获得了环形条码的专利。1970年,美国开始在超市中推广使用UPC码。直到1973年,UCC (美国统一编码协会)实现了UPC码制的标准化并建立UPC条码系统。1974年,美国国防部采用Interme公司推出的39码作为军用条形码码制。由于39码是第一个字母、数字式的条形码,所以被广泛应用于工业领域。1977年,欧洲共同体基于UPC-12码,制定出EAN码,将其用于欧洲物品编码。并正式成立了EAN (欧洲物品编码协会),后来发展为
12、IAN (国际物品编码协会)。条码技术的发源地是在美国,然而应用最广泛的确是在欧洲。条码技术在亚洲的兴起比较晚,相比较而言,日本是亚洲最早使用条码的国家,应用和发展也是最快的。早在1978年,日本加入EAN,然而10年后,日本已成为EAN组织的最大用户。在我国,直到1988年底,成立“中国物品编码中心”。“中国物品编码中心”于1991年7月1日代表中国加入IAN。推动了条码技术开发和推广应用工作的发展。在曰常生活中最常见的是条形一维码,而随着计算机的发展,针对一维码存储容量不足等缺点,产生了二维码,并广泛运用于生活。1.1.2 课题研究的意义目前,很难在实际应用中找到一套比较完善的、适合中国实
13、际需要的二维码应用系统。很多公司在应用二维码系统时,都存在“硬件投入较大、系统过于庞大、系统架构复杂,不适合修改调整或稳定性及实用性不强”等问题。目前,识别二维码的设备基本上采用专用设备,即使采用手持识别设备带来了便捷性,但仍需要专用的计算机设备完成数据采集和处理,这种方式已经成了阻碍二维码应用系统的推广的重要因素。其中本系统的研究意义:1、通过分析二维码编码、解码和纠错步骤,提出适合中国应用的二维码应用系统的架构方案。 2、设计符合实际需求的系统内部功能模块,使该系统的友善度、稳定性、使用度、识别率以及识别速度都达到一个比较不错的水平,适合中国市场。 3、本系统直接将识别系统内置在智能手机进
14、行条码的识别处理,极大地节省系统成本,且由于手机可随时、随地、随身携带,给用户提供极大的便捷性。 4、通过 3G 网络,进行数据传输和数据采集,节省了传统条码识别系统采用专用计算机进行数据处理的开销,使得系统的运行更加方便和有效。5、由于现代社会当中对于手机以及其他电子设备的依赖性,以及二维码信息传递的便捷性,android手机的普及率,还有社会发展的快速性,制作一款简单实用的android app,对于市场以及时代发展都有很重要的意义。1.2 课题主要目的本文讲述了“针对中国汉字编码,将一种符合 QR CODE 标准的二维码软件识别系统,在智能手机上的设计和实现”。该二维码软件系统,在能完成
15、基本采集识别功能的同时,增加了纠错处理、图像矫正、多国语转换、网络传输等功能,满足各种用户的需求。该产品可以应用在多种商务应用中,只要让该系统链接不同的网络服务器就可以实现不同的业务处理,使得其市场使用范围增加。1.3 本系统的开发环境本系统开发环境和工具:开发平台:Microsoft Windows 7 开发环境:eclipse android专版开发工具:android 4.4 SDK 开发语言:java,android 1.4 本课题的主要成果及论文结构1.4.1 主要成果本系统主要是基于zxing二维码扫描系统为基础,设计属于我们自己的二维码识别与生成系统,功能上实现了二维码的生成与解
16、码,并可以在真机上正常运行。功能简单实用。1.4.2 论文的主要结构 本文主要结构是综述,设计总体概述,系统结构详解,成果展示,结论,致谢,外文文献等部分。综述主要内容是介绍国内外二维码发展的现状以及本系统的发展现状;系统的结构主要是配置安卓虚拟机环境,导入zxing二维码识别的源码,配置相关类库,调试,以及修改源码简化zxing类库的整个部分,还有增加二维码生成的部分文件;成果展示是展示本系统完成的结果,以及可以接下来升级下一版本的需求或者功能;致谢,有关对于完成本论文整个部分给予我支持和帮助的工作机构以及个人致以感谢;参考文献是完成本次论文一毕业设计所参考的各种图书和论文等文献资料;外文文
17、献是相关文献的翻译。其中还有有关测试的部分,测试和运维是一个长期的部分,伴随着一个系统的很长时间,据统计一个系统的整个生命周期有80%的时间都是维护,成本也是相当高的,几乎是整个系统预算的一半以上。1.5 本章小结 本章简要描述了本课题研究的目的、意义,以及论文的总体组织。下面会结合系统需求分析提出总体设计。2 相关技术分析2.1 android技术Android是一种以linux为基础的开放源码操作系统,主要用于编写手持设备.目前尚未有统一的中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)的名称.Android草纸系统最初由Andy Rubin 开发,最初主要支持手持设备.200
18、5年由google收购注资,并联合多家制造商组成开发手机联盟开发改良后,逐渐扩展到平板电脑及其他领域上.2010年末数据显示,仅正式推出两年的Android操作系统已经超越称霸十年的诺基亚symbian系统,粤剧最受欢迎的智能手机平台.Android的主要竞争对手是同处于手持设备市场的苹果IOS,微软的WP7以及RIM的Blackberry OS. 2007年11月5日,google与其他33家手机制造商(包括摩托罗拉,HTC,三星,LG)、手机晶片供应商、软硬件供应商、电信业者联合组成的开放手持装置联盟(简称Open Handset Alliance),发布了名为Android的开放手机软硬
19、件平台。现今,OHA是由65间企业组成的商业联盟,以为移动装置开放自由标准。在Android平台公布一周后,google随即发布了供开发者免费自由下载,能在Windows、Mac OS X、 Linux多平台上使用的Android软件开发工具(Software Development Kit 简称SDK)与相关文件。间隔数天,又在发布作业系统核心(kernel),与部分硬件驱动程式的原始码,充分展示了google欲将手机这个现代人不可或缺的工具推向开放的平台,让开发者可以自由修改创造出符合用户需求的手机应用的决心。2008年9月24日,T-Mobile收地公布第一台Android手机(G1)。
20、同日google放出了Android SDK 1.0 rc1。此版本的推出代表了开发者可以放心的使用API,而不必担心会有太大的变动。2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。这次,大版本升级到了Android 2.1 “Eclair.” 2011年2月3日凌晨,谷歌正式发布了专用于平板电脑的Android 3.0 Honeycomb系统。这是首个基于Android的平板电脑专用操作。首款采用Android3.0系统的是MOTO XOOM 。该机是摩托罗拉移动在2011年1月5日,在美国拉斯维加斯 CES电子消费展推出的旗下首款平板电脑。可以从版本看出androi
21、d的系统在手机市场以很短的时间迅速崛起。也迅速得到众厂商的认可加盟,最后android 3.0推出很明显的标示的android系统进入MID市场可以看出android将来一段时间的市场主要在手机和平板电脑市场。但是2010年5月19日,在2010 Google I/O大会上Google公司发布了它最新的产品Google TV。Google TV就是要将网络和电视结合在一起,成为一套新的全家娱乐系统。 Android手机可以当作Google tv的遥控器使用。 这说明google将全面进军物联网时代,android可能成为物联网时代的主导系统。 未来Android会进入各行各业,发展前景无限光明
22、。2.2 二维码2.2.1 什么是二维码 二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上) 分布的黑白相间的图形记录数据符号信息的。 在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。 1.堆叠式/行排式二维条码,如,Code 16K、Code 49、PDF417(如下图)等。 图2.1 行排式二维码 2.矩阵式二维码,最流行莫过于QR CODE 二维码的名称是相对与一维
23、码来说的,比如以前的条形码就是一个“一维码”,它的优点有:二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。2.2.2 国外研究发展现状国外对二维码技术的研究开始于二十世纪八十年代。在二维码符号表示技术研究方面,已研制出多种码制,常见的有 PDF417,QR 码,Code 49,Code 16K,Code One 等。这些二维码的密度都比传统的一维条码有了较大的提高。 在二维码设备开发研制、生产各个方面,国外的设备制造商生产的识读设备、符号生成设备,已广泛应用于各类二维码应用系统。二维码作为一种全新的信息存储、传递和
24、识别技术,自诞生之日起就得到了世界上许多国家的关注。2.2.3 国内研究发展现状1993 年,国内开始对二维码技术进行研究。中国物品编码中心对几种常用的二维码 PDF417,QR 码,Data Matrix,Maxi Code,Code 49,Code 16K,Code One的技术规范进行了翻译和跟踪研究。随着我国经济和信息科技技术的不断发展,国内对二维码这一新技术的需求与日俱增。 中国物品编码中心在国家有关部门的大力支持下,对二维要码技术的研究不断深入。在消化国外相关技术资料的基础上,制定了 GB/T 17172-1997四一七条码和 GB/T 18284-2000快速响应矩阵码。为了使二
25、维码技术能够在证照管理 领域得到广泛应用,在国外应用软件平台的基础上,中国物品编码中心率先开发了人像照片和指纹数据压缩软件。 随着时间的推移、互联网的迅猛发展,手机将成为人们获取信息用的必备工具。2010 年,按官方统计数字,中国的手机用户将达到 7.4 亿,我国移动电话用户的庞大规模,为移动增值服务的发展提供了坚实的市场基础。近年来我国移动增值市场年成长率高于 60%,规模不断扩大。与如此大的市场相比移动增值业务种类较少,目前的业务远远满足不了广大消费者的需求,扩大增值业务的覆盖面已经成为当务之急。 鉴于此二维码技术就可在移动增值业务领域中发挥出不可替代的重要作用。2.2.4 国内外发展对比
26、分析对比国内外二维码产品,不难发现:大部分二维码系统,都使用专用识别设备进行数据采集。在这种情况下,要使产品有更广阔的市场,必须在功能的多元化、操作简单、识别速度快、可靠性强等方面做改进。 本产品对传统二维码系统做了以下扩展: 采用智能手机摄像头采集二维码图像,采用摄像模式,可动态连续采集、识别,加快解码速度。 智能手机直接通过 3G 网络,与服务器进行数据交互,无需采用专用计算机与专用条码采集设备进行数据处理。 针对手机摄像头的特性,加入图像矫正算法,提高识别率。2.3 QR码的结构与编码理论2.3.1 什么是QR CODE QR码呈正方形,只有黑白两色。在3个角落,印有较小,像回字的的正方
27、图案。这三个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度拍摄,内容仍可正确被读取。 日本QR码的标准JISX 0510在1999年1月发布,而其对应的ISO国际标准ISO/IEC18004,在2000年6月获得批准。根据Denso Wave公司的资料,QR码是属于开放式的标准,QR码虽然由Denso Wave公司持有的专利,但不会被执行。QR(Quick-Response) code是被广泛使用的一种二维码,解码速度快。 它可以存储多用类型。 图2.2 QR 码结构图1. 位置探测图形、位置探测图形分隔符:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有
28、所差异;这些黑白间隔的矩形块很容易进行图像处理的检测。2. 校正图形:根据尺寸的不同,矫正图形的个数也不同。矫正图形主要用于QR码形状的矫正,尤其是当QR码印刷在不平坦的面上,或者拍照时候发生畸变等。3. 定位图形:这些小的黑白相间的格子就好像坐标轴,在二维码上定义了网格。4. 格式信息:表示该二维码的纠错级别,分为L、M、Q、H;5. 数据区域:使用黑白的二进制网格编码内容。8个格子可以编码一个字节。6. 版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块。7. 纠错码字:用
29、于修正二维码损坏带来的错误。2.4 QR码的编码技术1. 数据分析:确定编码的字符类型,按相应的字符集转换成符号字符; 选择纠错等级,在规格一定的条件下,纠错等级越高其真实数据的容量越小。2. 数据编码:将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。其实知道这个数据码字序列就知道了二维码的数据内容。图 2.3 二维码资料容量图2.4 二维码提示符 数据可以按照一种模式进行编码,以便进行更高效的解码,例如:对数据:01234567编码(版本1-H), 1)分组:012 345 67 2)转成二进制:0120000001100 3450101011001 67 1000011
30、3)转成序列:0000001100 0101011001 1000011 4)字符数 转成二进制:80000001000 5)加入模式指示符(上图数字)0001:0001 0000001000 0000001100 0101011001 1000011 对于字母、中文、日文等只是分组的方式、模式等内容有所区别。基本方法是一致的3. 纠错编码:按需要将上面的码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。在二维码规格和纠错等级确定的情况下,其实它所能容纳的码字总数和纠错码字数也就确定了,比如:版本10,纠错等级时H时,总共能容纳346
31、个码字,其中224个纠错码字。 就是说二维码区域中大约1/3的码字时冗余的。对于这224个纠错码字,它能够纠正112个替代错误(如黑白颠倒)或者224个据读错误(无法读到或者无法译码), 这样纠错容量为:112/346=32.4%4. 构造最终数据信息:在规格确定的条件下,将上面产生的序列按次序放如分块中 按规定把数据分块,然后对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块 按顺序构成一个序列,添加到原先的数据码字序列后面。 如:D1, D12, D23, D35, D2, D13, D24, D36, . D11, D22, D33, D45, D34, D46, E1, E23,
32、E45, E67, E2, E24, E46, E68,.5. 构造矩阵:将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中。把上面的完整序列填充到相应规格的二维码矩阵的区域中6. 掩摸:将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。 一个算法,不研究了,有兴趣的同学可以继续。7. 格式和版本信息:生成格式和版本信息放入相应区域内。 版本7-40都包含了版本信息,没有版本信息的全为0。二维码上两个位置包含了版本信息,它们是冗余的。 版本信息共18位,6X3的矩阵,其中6位时数据为,如版本号8,数据位的信息时 001000,后面的12位是
33、纠错位。 图 2.5 QR二维码 2.5. 本章小结本章主要介绍了本课题所涉及的各项技术,分析了各技术的起源、历史、现状以及发展前景,有些分析比较了国内外相关技术的差距,很有时代与实际意义。3 二维码android手机识别系统设计3.1 需求分析3.1.1 概述 基于无线互联网的发展,为提高智能手机用户输入的便捷性,而进行基于智能手机二维码识别系统的研发,从而提高用户上网效率。为该系统设计提供依据,特做此需求分析。 本章基于智能手机二维码识别系统的可能应用场景,提取并分析出本系统的基本用户需求,确定了本系统的功能性需求和非功能性需求,从而也决定了该系统运行的软、硬件环境,以便下一阶段对本系统进
34、行系统设计。 课题相关信息: 1. 待开发系统名称:基于智能手机二维码识别系统 2. 本项目的任务提出者:项目经理 3. 开发者:基于智能手机二维码识别系统研发组 4. 预期用户:具有智能手机的所有用户 为方便阅读,本课题对相关术语的定义进行描述: 1.二维码:QR code二维码等主流二维编码都可以,利用水平方向和垂直方向图像单元存储数据的图形图像。 2.智能手机:Smart Phone,具有开放接口的、就是一台可以随意安装和卸载应用软件的手机,通过开放接口开发并安装的软件,可以扩展智能手机的功能。 3. 摄像头:Camera。本文所指摄像头皆为智能手机所内置的摄像头。 3.1.2 任务概述
35、 (1)任务目标: 开发本系统目的是为了智能手机用户更加快捷地上网,本系统利用了智能手机所具有的摄像头结合二维码进行网址解析,从而减轻了用户记忆大量网址的记忆量,也节约了用户输入网址的时间。 用户特点: 本系统最终用户使用的智能手机具有摄像头并且建议摄像头分辨率在一百万像素以上最好具有自动对焦功能,微距功能更佳,以便能获取更加清晰的二维码,使得识别成功率增加,缩短识别时间;另外,该用户有上网需求。 (2)运行环境: 本系统客户端,运行在android智能手机设备中,本系统测试手机具体为魅族mx2手机。 假设和依赖: 本系统要正常运行,必须保证对应的网址已经编码成二维条形码、并打印在相关媒介上,
36、所采用的编码格式与本系统解码格式及版本一致,条形码的污损率不能低于相应编码所规定的污损率,否则将会影响解码纠错效果,直接导致降低识别率。另外,使用本系统正确解码上网,必须保证识别二维码的场景光线效果比较好,至少保证二维条码各部分颜色比较均匀,明暗对比度不能太强烈,否则也会影响识别率。使用本系统,需要保证智能手机摄像头分辨率最好在一百万像素以上,最好具备自动对焦或微距功能。使用本系统,必须保证手机具有足够的电量。3.1.3 需求规定 系统的功能需求描述如下表所示:表 3.1 系统功能需求表序号功能点 描述 输入 处理 输出功能 1用户界面 通过本界面实现人机交互用 户 菜 单 操作响应用户操作根
37、 据 用 户 输入 菜 单 命 令做处理 功能 2视频采集 在本系统客户端内具有视频采集功能,完成二维码图像拍摄功能二 维 码 原 始图像将摄像头获取到二维码图像转换成识别模块需要的位图信息 位图信息 功能 3图像处理模块 将视频采集模块采集的二维码图像,进行黑白二值化处理 二 维 码 位 图信息根据 RGB 图转 换 成 灰 度图,然后转换成黑白二值图黑白二值图功能 4图像识别(定位点识别)通过二维码定位点的特征,采用模式识别的方法将二维码从背景图中截取出来黑白二值图 依据QR标准,利用识别算法确定定位点位置与个数,从而判定是否存在对应的二维码,如果存在则将其从背景图中截取其数据识 别 后
38、处 理后 的 点 阵 数据 功能 5数据解码 将二维码点阵数 据 通 过 处理,解析出其中数据,识别出对应的网址图 形 识 别 部分 确 定 的 定位 点 等 特 征信息按照定位点位置,根据编码标准,获取版本号,从而构建采样网格,从而解析数据内容 编 码 在 二 维码 中 的 网 址信息 功能6二维码生成模块写入数据,然后依据内置算法,生成二维码图像,并分享要生成的字符,网址等内置算法,生成二维码二维码图像系统的外部接口需求包括用户界面、硬件接口、软件接口、通信接口。 l 用户界面: 为方便用户使用本软件,本系统所采用的用户界面风格简约,符合智能手机用户使用习惯。主界面只包括一个摄像头获取界面
39、,启动后,用户只需要将摄像头对准二维码,即可在主界面直接预览到二维码图片内容,如果解码成功,则直接转到浏览器界面上网;若解码失败,则提示用户重新调整手机摄像头位置,开始重新获取二维码图片内容并重复解析识别。 l 硬件接口: 本系统需要的硬件主要包括摄像头,安装本软件的智能手机必须内置摄像头,摄像头分辨率必须在一百万像素以上,否则将会延长识别时间、降低识别率,从而影响识别效果 l 软件接口: 摄像头具有软件接口,操作系统能提供接口,直接从摄像头获取视频或者拍照模式的照片位图信息,方便本系统的客户端应用程序调用。 l 通信接口: 本系统所在的手机具备上网功能,能支持 Wap 等协议上网。 系统的非
40、功能性需求包括识别率、时间性能要求、输入输出要求。 l 识别率: 要求识别率越高用户体验越好,如果低于 50%,则用户体验下降。可以采用提高摄像头分辨率,优化图像矫正算法来提高识别率。 l 时间性能要求: 本系统软件启动:无特殊时间要求,与手机硬件设备相关。 识别结果响应时间:识别成功与失败,都应该控制在 1 秒钟以内。 l 输入输出要求: (1)输入: 要求被识别的二维码图像尽可能完整,污损率在国标范围内;拍摄识别场景,尽量光线比较好,使得颜色均匀;摄像头分辨率尽量大于一百万像素,能获取 1024768 尺寸图片。 (2)输出: 采用浏览器输出对应网站数据内容,需要手机内置浏览器并可以通过本
41、系统软件启动;输出提示信息简洁明了。3.2 系统设计3.2.1 概述 针对基于智能手机二维码识别系统的需求分析,对系统进行了总体设计和规划,划分了系统架构及功能模块,为后续各个功能模块的设计做好准备。 3.2.2 编写目的 本章根据用户需求分析的结果,从系统全局出发,进行了总体设计,确定了本系统的总体架构,并划分了各个功能实现的具体模块,为后续模块设计和编码实现提供了指导和依据。 3.2.3 定义 (1)模式识别 Pattern Recognition。计算机运用数学方法来研究模式的自动处理和判读。把环境和客体统统称之为“模式”。计算机技术不断的发展,人们研究复杂的信息处理过程成为了可能。信息
42、处理过程的一个重要形式是生命体对环境及客体的识别。对人类而言,最为重要的是对光学信息和声学信息的识别。这是模式识别的两个重要方面。 (2)图像矫正 Image Correction。通过摄像头获取到的图像,可能与真实图像之间存在一些偏差,对于本系统的二维码而言,主要是产生了形变,本文所指图像矫正,是对通过摄像头获取的二维码进行形状纠正的算法及过程。 3.2.4 总体设计 首先分析了基于智能手机的二维码识别系统的基本操作流程,然后根据本系统的需求分析的结果,进行总体设计。 (1)基本设计概念与处理流程 启动智能手机中安装的本系统时,摄像头获取图像并显示在手机屏幕中部,视点处于屏幕中部,若用户对准
43、了二维条形码,则自动开始进行识别处理,若识别成功并且所含编码为有效的网络地址 URL,则启动手机浏览器连接该网站进行网络浏览;若识别失败或者编码内容无效,则提示用户。 若距离二维条形码较远或者智能手机摄像头镜面和二维条形码所在平面不平行时,可能导致识别失败,则用户需要调整识别角度,重新进行识别。 (2)基本物理对象 从上面的操作需求而已得出本系统需要处理的数据,包括以下两方面。 (3) 二维条形码原始图像 由摄像头获取二维条形码原始图像,并显示在智能手机屏幕上,以便用户进行距离及位置的调整。 (4)二维条形码的几何数据 由于摄像头与二维条形码平面不一定绝对平行,所以拍摄的二维条形码的形状,可能
44、为正方形、菱形或者梯形,距离较远或者二维条形码有污损的情况下,还可能出现拍摄的原始图像为其它形状的情况。 (5)系统层次划分 图3.1 系统层次整个系统共分为 5 层,分别为:物理硬件层、android系统层、图像捕获和处理层、QR Code 解码生成层以及用户界面。(a)物理硬件层 本层是智能手机物理硬件。硬件层,提供了包括支持整个系统所必需的硬件模块,包括:摄像头、网络数据收发装置、手机操作系统运行环境等。 (b)android系统层 提供了对底层硬件模块访问的封装,它向上层应用程序提供了访问底层模块的接口和整个系统运行所必需的软件环境。 (c)图像捕获和处理模块层 图像捕获模块,完成对
45、QR Code 图形的获取,包括通过摄像头拍照和摄像两种方式,并且将所捕获的图形转换成 QR Code 解码层所能处理的数据格式。 网络处理模块,负责将解码后的数据还原后,获取其中的网址,并通过网络协议链接对应网站获取数据。 (d)QR Code 数据解码层 完成对 QR Code 图形的解码操作,包括:图像采集、图像识别、图像预处理、图形矫正、纠错的解码处理,二维码生成。 (e)用户操作界面 为直接面向移动用户的操作界面,用户可以通过界面操作完成对整个系统的控制。 (6)子系统划分 需要从摄像头获取二维码图像数据,但是我们采用的智能手机已经具备摄像头,并且可以利用手机厂商公开在开发包 SDK
46、 中的接口类来获取数据,所以该部分,直接有驱动层和硬件层实现,本系统设计中,不需要做过多处理。 所以本系统主要功能模块划分为三个部分:用户操作界面,图像捕获和网络处理模块层以及数据解码层。 另外,为了用户使用本系统简捷方便,所以用户界面比较简单,用户界面模块显示从摄像头获取到的预览数据,调用图像处理模块进行图像识别处理,成功后,再调用数据解密模块完成二维码图像的解析,最后通过解析出的网址启动手机内置浏览器直接上网。 本系统核心功能模块在于:图像处理模块和数据解码生成模块。 (7)模块功能和处理流程 下表对本系统各个功能模块进行了描述: 表 3.2 系统功能模块表 序号功能点 输入 处理 输出备注 1用户界面 用户菜单 调用其他模块提示信息或解码或生成信息 2图像采集摄像头数据获取摄像头数据转换成位图像素数据位图信息 3图像预处理二维码图像数据矫正处理二维码位图数据 4图像识别(定