基于Android平台的QR二维码扫描软件设计与实现
基于Android平台的QR二维码扫描软件设计与实现[20191212175925]
摘 要
在我们的生活中,二维码的使用频率越来越频繁。在现代商业活动中,其实现的应用随处可见,如:产品防伪、广告推送、商品信息的存储管理等。为我们的生活、生产带来了极大的方便。
二维码的广泛使用,使得二维码解码器的开发显得尤为重要。本文主要论述的是基于Android平台的二维码解码器的设计和实现。Android是一个开源的系统,它底层是基于Linux的操作系统。二维码解码软件是java语言和Eclipse编程工具,在Android开发环境下,进行二维码解码器的编程实现。
本文的二维码解码器主要实现了对QR二维码的扫描、解码,并且根据二维码所隐藏的内容的不同提供不同的功能:调用浏览器访问二维码隐藏的网址,调用系统拨号功能对二维码隐藏的号码进行拨号。
查看完整论文请+Q: 351916072
关键字:字Android;Eclipse;QR二维码;解码器
目 录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1研究背景 1
1.2课题意义 3
1.3毕业设计任务与要求 4
1.4论文结构安排与说明 4
第2章 Android的构架概述及开发环境搭建 6
2.1Android的构架描述 6
2.2Android开发环境搭建 9
2.2.1Android软件包开发包下载 9
2.2.2其他注意事项 9
2.2.3环境安装与搭建 9
2.3二维码介绍 14
第3章 二维码解码技术 16
3.1二维码图像预处理 16
3.1.1彩色图像灰度化 16
3.1.2 二位图像平滑化 16
3.1.3二维码图像分割 17
3.2 二维码的定位与校正 17
3.2.1二维码定位 17
3.2.2二维码校正 18
第4章 系统设计与调试 19
4.1系统总体设计 19
4.1.1系统总体设计目标 19
4.1.2 系统概要设计 19
4.2 系统功能模块设计 20
4.2.1系统总体功能模块 20
4.2.2系统流程图 20
4.2.3 图片处理过程 21
4.2.4界面设计 24
4.3 调试 26
4.3.1软件安装测试 26
4.3.2手机上的测试 29
4.3.3调试结果 29
第5章 结束语 31
5.1 论文总结 31
5.2 前景展望 31
参考文献 33
致谢 34
附录 35
第1章 绪论
1.1研究背景
二维码,又称二维条码,最早起源于日本,它是用特定的几何图形按一定规律在平面上坟墓的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理等等。
二维码在水平和垂直方向的二维空间存储信息。二维码具有信息容量大、安全型高(可加密)、识别率高、编码范围广等特点、同一维码相比,二维码也有一些缺点,如果有专门的生成程序,识别设备价格比较昂贵,对于在线扫描,即先有码后赋值的模式,不能发挥其特点。
按照组成的方式的不同,二维码可以分为堆叠式二维码(即行排式二维码)和矩阵式二维码。其中行排式二维码是由行一维的条码短截之后重新堆叠在一起而形成的所以也称作是堆叠式二维码。矩阵式二维码是以矩阵的形式存在的,实心点(即深色点)和空心点(即浅色的点)按照一定的原则分布在矩阵的响应位置。其中实心的点表示“1”,空白的点表示“0”。
1)堆叠式二维码:
堆叠式二维码根据它的组成方式又可以称作是堆积式二维码或者层排式二维码,它的编码原理是以条码的编码原理为基础而形成的,使用时根据需要堆叠成二行或者更多行。由于它是由一维码短截堆积而成,所以在设计、校验原理。识度方式等方方面面同样继承了一维码的一些特点,并且在适度设备和条码刷新上也是与一维码的相互兼容。但是在译码算法和软件方面堆叠二维码的和一维码条码的却有很大的区别,这是因为堆叠式二维码的行数增加了,需要对行进行判定。可以表性堆叠式二维码的特性的二位条码有:Code 16k、Code 49、PDF417、MicroPDF417等。
2)矩阵式条码:
矩阵式二维码又称为棋盘式二位条码,因为它的编排方式就好似一副棋盘那样在一个矩形空间中使用黑白二色的“棋子”分布在矩阵的不同位置。矩阵式二维码的编码是根据需要和编码内容分别将黑白像素分布在矩形空间的矩阵的不同位置中。在矩阵相对应的元素位置上,使用深色的点(放点、圆点、或者其他形状的点)表示二进制“1”,点不出现的空白位置则表示二进制的“0”。矩阵式二维码所代表的意义是由点的排列组合所确定的。矩阵式二维码是在计算机图像处理技术、组合编码原理等图形符号处理技术的基础上组合所形成的一种新型图形符号自动识度处理码制。矩阵式二维码条码中具有代表性的条码有:Code One、MaxiCode、QR Code、Data Matrix、Han Xin Code、Grid Matrix等。
二维码特点:
高密度编码,信息容量大:一个二维码对多可以可容纳1850个大写字母或2710个数字或1108个字节,或500多个汉字,相比于普通条码的信息容量二维码的信息容量大约高几十倍。
编码范围广:二维条码不但可以把图像、声音、文字、签字、指纹等可数字化的信息进行编码,用条码表示出来;还可以表示成多种语言文字。
容错能力强,具有超强纠错功能:这使得即使二维码因穿孔、污损等引起的局部损坏时,照样可以正确识度,即便损毁面积高达50%仍可以恢复正确信息。
译码可靠性高:二维码的错误率比普通条码的百万分之二要低得多,二维码的误码率不超过千万分子一。
可引入加密措施:保密性、防伪性好。
制作容易,使用成本低:可以打印在普通的纸张、PVC或者其他材料上,与一维码的制造成本相当。
二维码技术标准:
国外对二维码的技术研究始于20世纪80年代末,已研制出多种码制,全球现有的一、二维条码多达250种以上,其中常有的有PDF417、QRCode、Code49、Code16K、CodeOne等20余种。二维码技术标准在全球范围得到了应用和推广。
目前得到广泛应用的二维码国际标准有QR码、PDF417、DM码和CM码。
1)QR码是由日本Dense公司与1994年9月研制的一种矩阵二维条码符号,其全程为Quickly Response,意思是快速响应。它除了具有一维条码及其他二维条码所具有的信息容量的、可靠性高、可表示汉字及图形多种文字信息、保密范围性强等优点外,还可以高效的表示汉字,相同内容,其尺寸小于相同密度的PDF417条码。它是目前日本主流的手机二维码技术标准,目前市场上的大部分条码打印机都支持QRcode条码。
2)PDF417码是由美籍华人王寅敬博士发明的。PDF是取自英文PortableDataFile三个单词的首字母的缩写,意思为“便携数据文件”。因为组成条码的每个字符都是由5个条和4个空构成,如果将组成条码的最窄条或统称为一个模块,则上述的4个条和4个空的总模块数一定是17,所以称为417或PDF417码。
3)DM码,全称为DataMatrix,中文名称为数据矩阵。DM采用了复杂的纠错码技术,使得该编码具有超强的抗污染能力。主要用于电子行业小零件的标识,如Intel的奔腾处理器的背面就印制了这种码,DM码由其优秀的纠错能力成为了韩国手机二维码的主流技术。
4)MC(Maxicode)码(又称牛眼码),是一种中等容量、尺寸固定的矩阵式二维码,它有紧密相连的六边形模组和位于符号中央位置的定位图形所组成。Maxicode是特别为高速扫描而设计的,主要应用于包裹搜寻和追踪上,是由美国联合包裹服务公司研制的,用于包裹的分拣很跟踪。M阿西丑的的基本特征是:外形近乎正方形,有位于符号中央的同心圆定位图形,及其周围六边形蜂巢式机构的资料位元所组成,这种排列方式使得Maxicode可以从任意方向进行快速扫描。
在我国,GM《二维码网络矩阵码》SJ/T11349-2006和CM《二维码金马矩阵》SJ/T11350-2006标准是由原国家信息产业部于2006年5月25日所颁布的两项国产行业推荐标准。此两项标准于2006年5月30日起实施。
GM码全称是网格码(Grid Matrix Code)是一种正方形的二维码码制,该码制的码图由正方形宏模块组成,每个宏模块由6*6个正方形单元模块组成。网格码可以编码存储一定量的数据并可以提供5个用户可选的纠错等级。
CM码意为“紧密矩阵”,是英文Compact Matrix的缩写。码图采用齿孔定位技术和图像分段技术,通过分析齿孔定位信息和分段信息可快速完成二维码图像的识别和处理。
1.2课题意义
智能手机和平板电脑的普及应用催生了之前并不被看好的二维码应用,大家竞相投入大量资源进行技术研发。马化腾说:二维码是移动互联网入口。
在移动互联业务模式下,人们的经营活动范围更加宽泛,也因此更需要适时的进行信息的交互和分享。随着3G/4G移动网络环境下智能手机和平板电脑的普及,二维码应用不再受到时空和硬件设备的局限。产品基本属性、图片、声音、文字、指纹等可以数字化的信息进行编码捆绑,适用于产品质量安全追溯、物流仓储、产品促销以及商务会议、身份、物料单据识别等等。可以通过移动网络,实现物料流通的适时跟踪和追溯;帮助进行设备远程维修和保养;产品打假防窜及终端消费者激励;企业供应链流程再造等,以进一步提高客户响应度,将产品和服务延伸到终端客户。厂家也能够适时掌握市场动态,开发出更实用的产品以满足客户的需求,并最终实现按单生产,将大幅度降低生产成本和运营成本。
随着国内物联网产业的蓬勃发展,相信更多的二维码技术应用解决方案被开发出来,应用到各行各业的日常经营生活中来,届时,二维码成为移动互联网入口真正成为现实。
本文研究的是基于Android平台的QR二维码扫描解码软件设计与实现。通过手机扫描解码生活中遇到的二维码,方便人们是很有意义的。
1.3毕业设计任务与要求
本课题利用Android技术,设计和实现基于Android平台上的二维码解码器。
1.能扫描并识别QR二维码。
2.可以根据二维码的不同内容提供不同的功能:拨号、上网。
1.4论文结构安排与说明
本文的结构如下:
第1章 绪论。主要介绍本论文课题的研究背景,选题的意义,课题的任务以及论文的结构安排和说明。
第2章 Android框架的概述意思开发环境的搭建。主要描述了Android的构架;在Eclipse开发工具下,如何安装Android SDK和Eclipse插件以及如何新建一个模拟器,此外,还介绍了Android应用程序构架,Android应用的基本组件、XML语言的基本知识;以及二维码的相关知识。
第3章 二维码解码技术。本章主要介绍了二维码解码所用到的图像处理技术,以及定位和校正技术。
第4章 系统设计和调试。本章主要介绍了从系统的总体设计方案,到系统功能模块的具体实现,以及调试的过程和结果。
第5章 结束语。本章主要总结了本次毕业设计以实现的功能,并展望本文还可以实现的一些功能以及本文设计的体会。
第2章 Android的构架概述及开发环境搭建
2.1Android的构架描述
l Andriod是什么?
首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块。”
图2.1 Andriod是什么?
Linux
所有东西的底层是一个稳定的保持更新的Linux内核(我现在用的Nexus手机所用的就是2.6.32版的内核),以及我们精心打造的能源管理组件;当然还有将它们整合至上层Linux代码的扩展和公共组件。
Dalvik
Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。
l 代码如何生成?
摘 要
在我们的生活中,二维码的使用频率越来越频繁。在现代商业活动中,其实现的应用随处可见,如:产品防伪、广告推送、商品信息的存储管理等。为我们的生活、生产带来了极大的方便。
二维码的广泛使用,使得二维码解码器的开发显得尤为重要。本文主要论述的是基于Android平台的二维码解码器的设计和实现。Android是一个开源的系统,它底层是基于Linux的操作系统。二维码解码软件是java语言和Eclipse编程工具,在Android开发环境下,进行二维码解码器的编程实现。
本文的二维码解码器主要实现了对QR二维码的扫描、解码,并且根据二维码所隐藏的内容的不同提供不同的功能:调用浏览器访问二维码隐藏的网址,调用系统拨号功能对二维码隐藏的号码进行拨号。
查看完整论文请+Q: 351916072
关键字:字Android;Eclipse;QR二维码;解码器
目 录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1研究背景 1
1.2课题意义 3
1.3毕业设计任务与要求 4
1.4论文结构安排与说明 4
第2章 Android的构架概述及开发环境搭建 6
2.1Android的构架描述 6
2.2Android开发环境搭建 9
2.2.1Android软件包开发包下载 9
2.2.2其他注意事项 9
2.2.3环境安装与搭建 9
2.3二维码介绍 14
第3章 二维码解码技术 16
3.1二维码图像预处理 16
3.1.1彩色图像灰度化 16
3.1.2 二位图像平滑化 16
3.1.3二维码图像分割 17
3.2 二维码的定位与校正 17
3.2.1二维码定位 17
3.2.2二维码校正 18
第4章 系统设计与调试 19
4.1系统总体设计 19
4.1.1系统总体设计目标 19
4.1.2 系统概要设计 19
4.2 系统功能模块设计 20
4.2.1系统总体功能模块 20
4.2.2系统流程图 20
4.2.3 图片处理过程 21
4.2.4界面设计 24
4.3 调试 26
4.3.1软件安装测试 26
4.3.2手机上的测试 29
4.3.3调试结果 29
第5章 结束语 31
5.1 论文总结 31
5.2 前景展望 31
参考文献 33
致谢 34
附录 35
第1章 绪论
1.1研究背景
二维码,又称二维条码,最早起源于日本,它是用特定的几何图形按一定规律在平面上坟墓的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理等等。
二维码在水平和垂直方向的二维空间存储信息。二维码具有信息容量大、安全型高(可加密)、识别率高、编码范围广等特点、同一维码相比,二维码也有一些缺点,如果有专门的生成程序,识别设备价格比较昂贵,对于在线扫描,即先有码后赋值的模式,不能发挥其特点。
按照组成的方式的不同,二维码可以分为堆叠式二维码(即行排式二维码)和矩阵式二维码。其中行排式二维码是由行一维的条码短截之后重新堆叠在一起而形成的所以也称作是堆叠式二维码。矩阵式二维码是以矩阵的形式存在的,实心点(即深色点)和空心点(即浅色的点)按照一定的原则分布在矩阵的响应位置。其中实心的点表示“1”,空白的点表示“0”。
1)堆叠式二维码:
堆叠式二维码根据它的组成方式又可以称作是堆积式二维码或者层排式二维码,它的编码原理是以条码的编码原理为基础而形成的,使用时根据需要堆叠成二行或者更多行。由于它是由一维码短截堆积而成,所以在设计、校验原理。识度方式等方方面面同样继承了一维码的一些特点,并且在适度设备和条码刷新上也是与一维码的相互兼容。但是在译码算法和软件方面堆叠二维码的和一维码条码的却有很大的区别,这是因为堆叠式二维码的行数增加了,需要对行进行判定。可以表性堆叠式二维码的特性的二位条码有:Code 16k、Code 49、PDF417、MicroPDF417等。
2)矩阵式条码:
矩阵式二维码又称为棋盘式二位条码,因为它的编排方式就好似一副棋盘那样在一个矩形空间中使用黑白二色的“棋子”分布在矩阵的不同位置。矩阵式二维码的编码是根据需要和编码内容分别将黑白像素分布在矩形空间的矩阵的不同位置中。在矩阵相对应的元素位置上,使用深色的点(放点、圆点、或者其他形状的点)表示二进制“1”,点不出现的空白位置则表示二进制的“0”。矩阵式二维码所代表的意义是由点的排列组合所确定的。矩阵式二维码是在计算机图像处理技术、组合编码原理等图形符号处理技术的基础上组合所形成的一种新型图形符号自动识度处理码制。矩阵式二维码条码中具有代表性的条码有:Code One、MaxiCode、QR Code、Data Matrix、Han Xin Code、Grid Matrix等。
二维码特点:
高密度编码,信息容量大:一个二维码对多可以可容纳1850个大写字母或2710个数字或1108个字节,或500多个汉字,相比于普通条码的信息容量二维码的信息容量大约高几十倍。
编码范围广:二维条码不但可以把图像、声音、文字、签字、指纹等可数字化的信息进行编码,用条码表示出来;还可以表示成多种语言文字。
容错能力强,具有超强纠错功能:这使得即使二维码因穿孔、污损等引起的局部损坏时,照样可以正确识度,即便损毁面积高达50%仍可以恢复正确信息。
译码可靠性高:二维码的错误率比普通条码的百万分之二要低得多,二维码的误码率不超过千万分子一。
可引入加密措施:保密性、防伪性好。
制作容易,使用成本低:可以打印在普通的纸张、PVC或者其他材料上,与一维码的制造成本相当。
二维码技术标准:
国外对二维码的技术研究始于20世纪80年代末,已研制出多种码制,全球现有的一、二维条码多达250种以上,其中常有的有PDF417、QRCode、Code49、Code16K、CodeOne等20余种。二维码技术标准在全球范围得到了应用和推广。
目前得到广泛应用的二维码国际标准有QR码、PDF417、DM码和CM码。
1)QR码是由日本Dense公司与1994年9月研制的一种矩阵二维条码符号,其全程为Quickly Response,意思是快速响应。它除了具有一维条码及其他二维条码所具有的信息容量的、可靠性高、可表示汉字及图形多种文字信息、保密范围性强等优点外,还可以高效的表示汉字,相同内容,其尺寸小于相同密度的PDF417条码。它是目前日本主流的手机二维码技术标准,目前市场上的大部分条码打印机都支持QRcode条码。
2)PDF417码是由美籍华人王寅敬博士发明的。PDF是取自英文PortableDataFile三个单词的首字母的缩写,意思为“便携数据文件”。因为组成条码的每个字符都是由5个条和4个空构成,如果将组成条码的最窄条或统称为一个模块,则上述的4个条和4个空的总模块数一定是17,所以称为417或PDF417码。
3)DM码,全称为DataMatrix,中文名称为数据矩阵。DM采用了复杂的纠错码技术,使得该编码具有超强的抗污染能力。主要用于电子行业小零件的标识,如Intel的奔腾处理器的背面就印制了这种码,DM码由其优秀的纠错能力成为了韩国手机二维码的主流技术。
4)MC(Maxicode)码(又称牛眼码),是一种中等容量、尺寸固定的矩阵式二维码,它有紧密相连的六边形模组和位于符号中央位置的定位图形所组成。Maxicode是特别为高速扫描而设计的,主要应用于包裹搜寻和追踪上,是由美国联合包裹服务公司研制的,用于包裹的分拣很跟踪。M阿西丑的的基本特征是:外形近乎正方形,有位于符号中央的同心圆定位图形,及其周围六边形蜂巢式机构的资料位元所组成,这种排列方式使得Maxicode可以从任意方向进行快速扫描。
在我国,GM《二维码网络矩阵码》SJ/T11349-2006和CM《二维码金马矩阵》SJ/T11350-2006标准是由原国家信息产业部于2006年5月25日所颁布的两项国产行业推荐标准。此两项标准于2006年5月30日起实施。
GM码全称是网格码(Grid Matrix Code)是一种正方形的二维码码制,该码制的码图由正方形宏模块组成,每个宏模块由6*6个正方形单元模块组成。网格码可以编码存储一定量的数据并可以提供5个用户可选的纠错等级。
CM码意为“紧密矩阵”,是英文Compact Matrix的缩写。码图采用齿孔定位技术和图像分段技术,通过分析齿孔定位信息和分段信息可快速完成二维码图像的识别和处理。
1.2课题意义
智能手机和平板电脑的普及应用催生了之前并不被看好的二维码应用,大家竞相投入大量资源进行技术研发。马化腾说:二维码是移动互联网入口。
在移动互联业务模式下,人们的经营活动范围更加宽泛,也因此更需要适时的进行信息的交互和分享。随着3G/4G移动网络环境下智能手机和平板电脑的普及,二维码应用不再受到时空和硬件设备的局限。产品基本属性、图片、声音、文字、指纹等可以数字化的信息进行编码捆绑,适用于产品质量安全追溯、物流仓储、产品促销以及商务会议、身份、物料单据识别等等。可以通过移动网络,实现物料流通的适时跟踪和追溯;帮助进行设备远程维修和保养;产品打假防窜及终端消费者激励;企业供应链流程再造等,以进一步提高客户响应度,将产品和服务延伸到终端客户。厂家也能够适时掌握市场动态,开发出更实用的产品以满足客户的需求,并最终实现按单生产,将大幅度降低生产成本和运营成本。
随着国内物联网产业的蓬勃发展,相信更多的二维码技术应用解决方案被开发出来,应用到各行各业的日常经营生活中来,届时,二维码成为移动互联网入口真正成为现实。
本文研究的是基于Android平台的QR二维码扫描解码软件设计与实现。通过手机扫描解码生活中遇到的二维码,方便人们是很有意义的。
1.3毕业设计任务与要求
本课题利用Android技术,设计和实现基于Android平台上的二维码解码器。
1.能扫描并识别QR二维码。
2.可以根据二维码的不同内容提供不同的功能:拨号、上网。
1.4论文结构安排与说明
本文的结构如下:
第1章 绪论。主要介绍本论文课题的研究背景,选题的意义,课题的任务以及论文的结构安排和说明。
第2章 Android框架的概述意思开发环境的搭建。主要描述了Android的构架;在Eclipse开发工具下,如何安装Android SDK和Eclipse插件以及如何新建一个模拟器,此外,还介绍了Android应用程序构架,Android应用的基本组件、XML语言的基本知识;以及二维码的相关知识。
第3章 二维码解码技术。本章主要介绍了二维码解码所用到的图像处理技术,以及定位和校正技术。
第4章 系统设计和调试。本章主要介绍了从系统的总体设计方案,到系统功能模块的具体实现,以及调试的过程和结果。
第5章 结束语。本章主要总结了本次毕业设计以实现的功能,并展望本文还可以实现的一些功能以及本文设计的体会。
第2章 Android的构架概述及开发环境搭建
2.1Android的构架描述
l Andriod是什么?
首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块。”
图2.1 Andriod是什么?
Linux
所有东西的底层是一个稳定的保持更新的Linux内核(我现在用的Nexus手机所用的就是2.6.32版的内核),以及我们精心打造的能源管理组件;当然还有将它们整合至上层Linux代码的扩展和公共组件。
Dalvik
Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。
l 代码如何生成?
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/469.html