基于Android的二维码扫描识别系统的研究与设计毕业论文
2020-02-17 23:23:54
摘 要
本文研究了二维码的起源及发展,而基于Android的二维码扫描与识别一般需要涉及到安全,大容量数据存取,译码方便等而为了使用方便,更需要做到全方位扫描,快速探测,方便移植等特点。而QRCode则符合这些条件,其横向与纵向同时包含有信息,并且可以包含汉字,各个方向都能读取其中信息。可轻易打印传播,当今流传应用广泛,成为信息技术领域的研究热点。尤其是近些年来,因为安卓系统开源的特点,智能手机和移动互联网的发展突飞猛进,势不可挡,又因为二维码使用时方便快速,尤其是扫码支付的普及,更是让二维码产生了的爆发式发展。在手机上利用摄像头识别二维码,并译码出其中包含的信息,这一方面克服了其他传统扫描识别系统设备体积大不易携带等缺点:另一方面,在从线上到线下的整个过程中,QRCode能及时进行信息的传达,起着联系线上线下的关键作用。
论文主要研究了QRCode的扫描识别系统,凭借扫描QRCode,识别其中蕴含的网址信息、商品信息、文本信息或电话号码信息,并实现浏览网站,商品信息,显示文本和手机拨打电话等功能。具体研究如下:
1).分析了QRCode码的原理及基础理论,并分析了其特征,编码,解码的规则,详细阐述其生成过程,编码过程,解码过程。
2).研究安卓系统的四大组件,包括Activity、Service、Broadcast Receive、Content Provider,并研究了Android Studio平台的编程。
3).研究Google的第三方库Zxing,了解其中二维码扫描辨认算法。
4).设计软件调用zxing库,当识别出二维码中包含的信息时,通过正则匹配判断出其包含的是哪种类型的信息,若是网址信息,则跳转到对应的网页,若是电话号码信息,则拨打该号码,若是文本信息,则利用toast显示。
研究结果显示,成功编写出一个二维码扫描识别应用,能实现预期功能,并在多款手机上进行了测试,能够兼容很多品牌的手机。
关键词:Android;QRCode;识别;zxing;Android Studio
Abstract
This paper studies the origin and development of two-dimensional code, and the scanning and recognition of two-dimensional code based on Android generally need to involve security, large capacity data access, decoding convenience and so on. In order to use convenience, more need to do all-round scanning, rapid detection, convenient transplantation and other characteristics. QRCode meets these conditions. It contains information both horizontally and vertically, and can contain Chinese characters. Information can be read from all directions. It can be easily printed and disseminated. Nowadays, it is widely used and becomes a research hotspot in the field of information technology. Especially in recent years, with the development of mobile Internet and mobile phone and the open source characteristics of Android system, and because of the convenience of using qr code, especially the emergence of scanning code payment, it is the explosive development of qr code. On the one hand, it overcomes the disadvantages of other traditional scanning and identification system devices, such as large size and difficulty in carrying. On the other hand, QRCode can quickly transmit information in the process from online to offline, and becomes a key interface for the combination of online and offline.
This paper mainly studies the scanning and identification system of QR code. By scanning QRCode, it can identify the website information, commodity information, text information or telephone number information contained therein, and realize the functions of browsing website, commodity information, display text and mobile phone call. The specific research is as follows:
1). Analyzed the principle and basic theory of QRCode, and analyzed its characteristics, encoding and decoding rules, and elaborated its generation process, encoding process and decoding process.
2). Studied the four major components of Android system [Activity, Service, Broadcast Receive, Content Provider], and studied the programming of Android Studio platform.
3). Studied zxing, a third-party qr code library of Google, to understand the scanning and identification algorithm of qr code.
4). The design software calls zxing library, and when the information contained in the qr code is identified, it determines what kind of information it contains through regular matching. If the url information, it will jump to the corresponding web page; if the phone number information, it will dial the number; if the text information, toast will be used to display.
The research results show that the successful writing of a two-dimensional code scanning and identification application, can achieve the expected function, and test on a number of mobile phones, can be compatible with many brands of mobile phones.
Key Words:Android;QRCode;识别;zxing;Android Studio
目 录
第1章 绪论 1
1.1 课题的背景及目的 1
1.2 国外发展及现状 1
1.3 国内发展及现状 2
1.4 课题的研究意义 2
第2章 主要研究内容 3
2.1 研究的基本内容及目标 3
2.2 拟采用的技术方案及措施 3
第3章 二维码的编码解码原理 4
3.1 二维码的分类 4
3.2 QRCode简介 4
3.2.1 QRCode结构 4
3.2.2 QRCode的编码,预处理及译码 6
3.3 本章小结 7
第4章 Android平台及系统简介 8
4.1 Android平台的简单介绍 8
4.2 谷歌Zxing库简介 9
4.3 Android studio简要介绍 9
4.4 二维码扫码程序中所需功能分析 10
4.4.1 初始界面 10
4.4.2 相机调用 10
4.4.3 图像扫描,处理及解码 10
4.4.4 浏览器调用 11
4.4.5 手机拨打电话 11
4.4.6 显示文本功能 11
4.5 本章小结 11
第5章 系统设计及功能实现 12
5.1 系统的总体设计规划 12
5.2 界面设计 13
5.3 权限设置 13
5.4 相机页面 15
5.5 字符串的解码分类 16
5.6 本章小结 17
第6章 总结与展望 19
6.1 总结 19
6.2 展望 19
参考文献 21
致谢 22
绪论
当今社会,人们的日常生活水平不停更新,随着电器通信行业的崛起与高速发展,人们的生活越来越便利,而又因为打印机及二维码的出现,使得Android手机扫码支付,浏览网站,拨打电话变得可能,很大程度上便利了人们的日常生活。
课题的背景及目的
技术的快速更新换代,让人们的生活每日一新,通信方式也从古时的烽火狼烟、飞鸽传书,发展到到近代的电报传真、现代的电话短信,视频通信,不仅将所需时间大幅度缩短,实现几乎无延迟传输,传递的信息也从之前短短几个字或某种信息扩展到音频视频。条型码扫码解码技术悄然兴起,它是一种随着计算机科学和信息处理技术的发展而发展起来的一种自动读识技术。它利用光电设备扫描采集数据,能够快速、安全、有效地读取隐藏在条码中的信息。因一维条码的有效信息存储量不足,随时代的发展,信息更大的二维码便应运而生,因其具有可靠性高、抗损性强、可以加密等优点,满足了人们对通信的种种要求,所以在智能手机与电脑网络不可或缺的今天,二维码的运用便变得越来越普及。
通过一个有摄像头并且安装了带有二维码识别应用的手机,便可以轻松获取二维码中的全部信息,其中能包括但不限于:网址信息,商品信息,文本信息,电话号码等等。
本文通过研究基于Android的扫描识别系统,设计出一个二维码识别系统,通过扫描QRCode,识别蕴含其中的网址信息、商品信息、文本信息及电话号码信息,以实现浏览网站,商品信息,显示文本及拨打电话等功能。
国外发展及现状
最早诞生并发展于美国的二维码,拥有无比巨大的潜力,并且发展形势多样,QRCode成为最为常见应用最广范的二维码,其原理是用某些特定的几何图形在平面上按某种特定的规则分布,所形成的一种黑白相间的来表示信息的图形,在编码中使用数字信号“1” 、“0”组成的比特流对应的几何形状来传达信息,与传统的Bar code条形码相比较, QRCode不仅能存储更多更大更实用的信息,也能表示更全的数据类型。它能在小小的面积里携带大量信息,主要是因为无论从总想看还是从横向看,信息都能通过黑白相间的图形被存储。之后其中信息就可以通过光电扫描设备读取识别并且自动处理[1]。
国外研究二维码读识技术始于1990年左右,并且因为编码的不同,设计了很多不同的码制,比如PDF417,QR Code,Code 49,Code 16K,Code One等。短时间内一维二维码制的规则上涨到250种以上,这就导致了大量滥用混用的情况发生,为了避免引发这种混乱,几个国家联合成立了国际自动化识别制造商协会(AIM),美国标准化协会(ANSI)等组织,用以制定国际通行标准,防止混乱的发生。在研究开发生产二维码设备上,发展的最好的是日本的QR码、韩国的DM码,当今,很多国家已将二维码技术应用于公安,外交,军事等相关方面的管理,甚至财产转账上也到处是二维码的痕迹。
国内发展及现状
我国在1993年才启动此类相关技术的研究的,中国物品编码中心对Data Matrix,PDF417,QR Code等技术规范进行了研究[2]。并且伴着因特网的逐渐普及,有关的研究也越来越深入。因为中国市场经济的逐渐完善,通信技术的快速发展,又为条码的发展提供了源源不绝的动力,经过一段时间的深入研究,本国拟定了两个条码的国家标准:一个是二维码网格矩阵(SJ/T 11349-2006)和二维码紧密矩阵(SJ/T 11350-2006),故而在二维码中添加了独特的汉字模式[3]。
之后二维码技术进入的井喷式的发展之中,2003年,上海龙贝公司研发出了龙贝二维码,多项指标超过国际上的同类码字[4],代表着中国二维码技术已经逐步追赶上国际步伐。之后2006年,中国移动实施两种不同的手机二维码业务,包括QR码和DM码两种形式的码制,其中,DM码因为容量小,码尺寸小,中国汉字种类少,受到的专利束缚太多等各方面的限制而逐渐弃用,而QR码可放置5529个数字,1471个汉字或者2303个字母,信息容量很大,处置信息时更加方便。总之,二维码现在应用在日常生活中的各个方面,为人们的幸福生活贡献了自己的一份力量。
课题的研究意义
有些时候,二维码中会包含支付信息,网络信息,身份信息等实时信息,其中有一些可以打印下来,用以名片,支付二维码,然后通过特定的读取装备,将读取出来的信息加以应用,方便我们的日常生活。
但是,传统的条码扫描识别设备体积大,不方便携带。又随着智能手机的普及,可以通过手机来读识条码中蕴含的信息,更为二维码的发展提供了方便。
因为网络的不断发展与完善,智能手机的普及及更新换代,手机二维码可通过手机摄像头及读识应用来实现读识二维码中的网址信息,商品信息,文本信息或电话号码信息,从而实现浏览网站,商品信息,显示文本,手机拨打电话等功能。
因为手机的普及性,QRCode的存储信息更多,并且可以显示汉字信息,是的QRCode有着巨大的发展潜力,同时由于Android系统的开放性,开发应用的成本大大降低,故而,研究基于Android的二维码扫描识别技术具有很重大的现实意义。
主要研究内容
研究的基本内容及目标
该文研究了在Android平台上扫瞄识别二维码,读出其内蕴含的网址信息,商品信息,文本信息,或电话号码,从而实现浏览网址,商品信息,显示文本,手机拨打电话等功能。
要读识出二维码,首先需要生成含有这些信息的二维码,然后在安卓平台上扫描并读识出其中蕴含的信息。故而,本文主要研究这些方面:
- 根据国内编码规范,了解二维码编码解码规则,了解扫码算法的编写方法。
- 在Android上实现二维码的扫描,读识分辨网址信息,商品信息,文本信息或电话号码信息,从而实现浏览网址,商品信息,显示文本,手机拨打电话等功能。
- 如果时间充足,则考虑改进二维码解码纠错算法,并针对手机平台光照不均,识别速度慢进行优化改进。
拟采用的技术方案及措施
因为QRCode的天生优势,本文拟采用QRCode,二维码的识别需要在Android上完成,并且运用Android studio进行开发设计:
第一步,了解QR二维码的结构特征,研究二维码的编码解码的算法;
第二步,了解Android开发平台Android Studio,学会Java的常见语法。
第三步,了解Android平台特点,详细了解其四大基本组件Activit、Broadcast receiver、 Service、 Content provider)的相关内容,并学会其算法编写方式。
第四步,学习Google第三方二维码库zxing的使用规则,学习其源码。
第五步,要实现摄像头调用、网址与电话权限获取、多线程操作等来读取识别二维码。
第六步,测试编写的程序。
二维码的编码解码原理
二维码的分类
二维码主要分为三类:
线性堆叠式二维码,这种类型的二维码运用数个一维码纵向堆叠而成,比如Code16K,PDF417等。其具有高密度编码,高范围编码,强容错能力,高可靠性和译码可靠性 ,保密性好,成本低[5]。故而使用广泛。
矩阵式二维码,这种类型的二维码是用矩阵中的黑白点中的分布规律来实现编码,如Data Matrix,QRCode等。其具有巨大的数据存储量,可压缩在小空间范围内,也可打印,可以处理不同种类的文字,变脏和破损后的读识率也很高,可以从360度任一方向读取,并支持数据合并的功能。本论文主要以此二维码为主。
邮政码,这种类型的二维码用来邮政编码,其用长度不尽相同的长条来编码,如Postnet。
QRCode简介
QRCode是一种矩阵式二维码,其在水平方向与竖直方向上都能包含有信息,同时从各个方向都可以读取整个二维码的信息。因为其在做左上角,右上角,左下角都有一个寻像图形,通过以一定规则编码,从而能够确定图像的整个位置。当有设备拍摄时,能快速探测出QRCode的位置,从而能够从任一方向,多个角度读识。
QRCode结构
QR(Quick-Response)Code是一种被广泛使用的二维码,现在使用的QRCode二维条码的规范一直遵循OMIA(Open Mobile Internet Alliance)的规范,实际上的QRCode,因为包含信息的多少,有40种不同的规格,分别为版本1~版本40。版本1为21*21的尺寸,版本40为177*177尺寸(每一版本比前一版本每边增加4个模块)[6]。下图为QRCode版本7的结构示意图。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: