欢迎来到我的范文网!

二维码定位算法

实用内容 时间:2020-06-02

【www.myl5520.com--实用内容】

QR二维码的原理与识别方法
篇一:二维码定位算法

QR二维码的原理与识别方法

QR码呈正方形,只有黑白两色。在3个角落,印有较小,像「回」字的的正方图案。这三个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度拍摄,内容仍可正确被读取。 日本QR码的标准JIS X 0510在1999年1月发布,而其对应的ISO国际标准ISO/IEC18004,在2000年6月获得批准。根据Denso Wave公司的资料,QR码是属于开放式的标准,QR码虽然由Denso Wave公司持有的专利,但不会被执行。

一、什么是二维码: 二维码 (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.矩阵式二维码,最流行莫过于QR CODE 二维码的名称是相对与一维码来说的,比如以前的条形码就是一个“一维码”,它的优点有:二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。

二、QR CODE 介绍

QR(Quick-Response) code是被广泛使用的一种二维码,解码速度快。 它可以存储多用类型

1. 位置探测图形、位置探测图形分隔符:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有所差异;这些黑白间隔的矩形块很容易进行图像处理的检测。

2. 校正图形:根据尺寸的不同,矫正图形的个数也不同。矫正图形主要用于QR码形状的矫正,尤其是当QR码印刷在不平坦的面上,或者拍照时候发生畸变等。

3. 定位图形:这些小的黑白相间的格子就好像坐标轴,在二维码上定义了网格。

4. 格式信息:表示该二维码的纠错级别,分为L、M、Q、H;

5. 数据区域:使用黑白的二进制网格编码内容。8个格子可以编码一个字节。

6. 版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块。

7. 纠错码字:用于修正二维码损坏带来的错误。

三. 简要的编码过程:

1. 数据分析:确定编码的字符类型,按相应的字符集转换成符号字符; 选择纠错等级,在规格一定的条件下,纠错等级越高其真实数据的容量越小。

2. 数据编码:将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。其实知道这个数据码字序列就知道了二维码的数据内容。

数据可以按照一种模式进行编码,以便进行更高效的解码,例如:对数据:

01234567编码(版本1-H), 1)分组:012 345 67 2)转成二进制:012→0000001100 345→0101011001 67 →1000011 3)转成序列:0000001100 0101011001 1000011

4)字符数 转成二进制:8→0000001000 5)加入模式指示符(上图数字)0001:0001 0000001000 0000001100 0101011001 1000011 对于字母、中文、日文等只是分组的方式、模式等内容有所区别。基本方法是一致的

3. 纠错编码:按需要将上面的码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。

在二维码规格和纠错等级确定的情况下,其实它所能容纳的码字总数和纠错码字数也就确定了,比如:版本10,纠错等级时H时,总共能容纳346个码字,其中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,E45, E67, E2, E24, E46, E68,...

5. 构造矩阵:将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中。

把上面的完整序列填充到相应规格的二维码矩阵的区域中

6. 掩摸:将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。 一个算法,不研究了,有兴趣的同学可以继续。

7. 格式和版本信息:生成格式和版本信息放入相应区域内。 版本7-40都包含了版本信息,没有版本信息的全为0。二维码上两个位置包含了版本信息,它们是冗余的。 版本信息共18位,6X3的矩阵,其中6位时数据为,如版本号8,数据位的信息时 001000,后面的12位是纠错位。

四. 编程实现 1. 使用第三方库zxing zxing是一个很好的第三方库,可以进行多种条码,图码的解码。我们可以使用这个库进行二维码的生成和识别。

定位算法说明文
篇二:二维码定位算法

定位算法说明文

(一) 算法输入:1、腕带ID; 2、读卡器ID; 3、读卡器坐标; 4、信号能量衰减值。 (二) 算法输出:1、腕带坐标。

(三) 算法具体过程描述:

1、 根据信号能量衰减值计算腕带与各读卡器之间的距离D; 2、 卡尔曼滤波处理距离D; 3、 将距离D从小到大排序;

4、 选择合适的定位单元:从距离列表中选择3个最小的距离,判

断定位单元的质量,返回相应的权值;

5、 由定位单元计算腕带的坐标,由其权值融合各坐标。

(四) 算法用到的函数及公式 1、 卡尔曼滤波函数:

x

?(t?1|t)??x?(t|t) ?(t?1)?y(t?1)?Hx?(t?1|t) P(t?1|t)??P(t|t)?T??Q?T K(t?1)?P(t?1|t)HT[HP(t?1|t)HT?R]?1 (1)(2)(3)(4)

?K?(t?1)?0,|?(t?1)|?threshold?

?K?(t?1)?K(t?1)/??+??(t?1)?,?(t?1)?0 (5) ??

?K(t?1)?K(t?1)*??+??(t?1)?,?(t?1)?0

?(t?1|t?1)?x?(t?1|t)?K(t?1)?(t?1) (6) x

P(t?1|t?1)?[In?K(t?1)H]P(t?1|t) (7)

主要涉及矩阵的加减法、转置、求逆、相乘计算。

2、 判断定位单元质量的函数:最小角度量方法衡量定位单元质量,

q?min?二维码定位算法。

3?min

?

。N为定位单元个数,其权值表达式为:

wj?

q?minj

?q?

j?1

N

(8)

minj

3、 计算腕带坐标函数:

Q2?B1?B2?Q1?

x??A2?B1?A1?B2?

(9) ?

?y?A2?Q1?A1?Q2?A2?B1?A1?B2?

?A1?2(x2?x1),B1?2(y2?y1),?222222?Q1?R1?R2?x1?x2?y1?y2;??A2?2(x2?x3),B2?2(y2?y3),

(10) ?222222

?Q2?R3?R2?x3?x2?y3?y2;?A?2(x?x),B?2(y?y),

13313

?3

222222

??Q3?R3?R1?x1?x3?y3?y1;

x=?wj?xj,

j?1

N

y=?wj?yj (11)

j?1

N

(五) 算法流程图

图1、算法流程图

计算机-基于DES算法的二维码扫描的实现
篇三:二维码定位算法

基于DES算法的二维码扫描的实现

摘要:随着手机Android系统的普及和信息化水平的提高,手机二维码扫描功能在我国已经为人们广泛的认识和接受,人们的生活和工作中对于二维码的运用也越来越频繁。本文通过eclipse软件设计了一项依托于安卓手机系统之上,利用安卓手机的摄像功能和二维码编码与解码的原理,以及DES加密算法的相关知识,实现二维码生成、加密与识别、解密的系统。该项设计内容包括三块:二维码的生成、安卓系统二维码的扫描识别系统设计与数据的加密解密的实现。二维码的生成系统完成了从数据输入、加密到生成相应二维码的功能,识别系统完成对采集到的二维码符号进行译码、解密并还原出所携带信息的功能。 关键词:Android手机系统;二维码生成;二维码识别;DES加密解密 The QR Code scanning System Based on DES

Jiang Dongyang

Abstract: As the universe of the Android mobile phone system and the development of the informatization level, the using of the QR Code recognition’s function is more and more frequent. Through this thesis the Eclipse software designs a system which enables the QR Code generation and recognition system, on the basis of android camera, the principle of coding and handling code, and the relevant knowledge of DES. This design covers three parts: Android QR code encryption design, QR code identification system design, and mobile phone user login system design. Generating system from the function of the input data to generate the corresponding QR code, collected in recognition system to complete the QR code symbol decoding carried by deducing the function of information.

Key Words:Android mobile phone system; QR Code’s Recognition; DES encryption and decryption

目 次

1.1 系统研究的目的和意义 .................................................. - 1 -

1.2 国内外研究情况及背景 .................................................. - 1 -

1.3 可行性研究 ............................................................ - 3 -

1.4 本文研究内容 .......................................................... - 3 - 2 开发相关技术介绍 ........................................................ - 4 -

2.1 ANDROID平台介绍 ........................................................ - 4 -

2.2 开发环境的搭建 ........................................................ - 4 -

2.3 二维码的介绍 .......................................................... - 5 -

2.4 DES加密算法介绍 ....................................................... - 7 - 3 系统分析与设计 .......................................................... - 7 -

3.1 系统框架设计 ........................................................... - 7 -

3.2 数据加密与二维码生成模块 ............................................... - 7 -

3.3 二维码扫描识别与数据解密模块 ........................................... - 8 - 4 系统的实现 .............................................................. - 8 -

4.1 系统的主要流程 ........................................................ - 8 -

4.2 数据加密与二维码生成模块的实现 ........................................ - 9 -

4.3 二维码扫描识别与数据解密模块的实现 ................................... - 11 -

4.4 ANDROID CAMERA的调用 ................................................... - 17 - 5 系统调试及测试 ......................................................... - 17 -

5.1 系统调试 ............................................................. - 17 -

5.2 系统测试 ............................................................. - 17 -

5.3 测试结果 ............................................................ - 18 -

5.4 测试阶段复审与评价 ................................................... - 18 - 结 论 .................................................................... - 19 - 参 考 文 献 ............................................................... - 20 - 致 谢 ....................................................... 错误!未定义书签。

1 绪论

1.1 系统研究的目的和意义

随着智能手机的普及和信息化水平的提高,在面对一维码信息容量低、数据库依赖程度深的背景下,二维码以其高容量性、高可靠性的优点被人们接受。二维码作为一种全新的电子信息存储、传递与识别技术,其运用前景也越来越广阔,在我国二维码技术被广泛运用于电子商务、物流管理、电子凭证等诸多领域。本文提出了基于隐私数据的二维码存取技术,重点研究了Android手机平台上隐私数据的二维码生成与扫描识别,将信息的加密解密与二维码技术结合起来。

一维码的信息容量小,这也决定了它必须依靠数据库才能充分表达信息。因此如果没有数据库或者无法连接网络,一维码的使用就会受到极大的限制。此外,用一维码来表示汉字,需要繁琐的转化,效率不高。

二维码是为了解决一维码无法解决的问题而被研制出来的。二维码具与一维码相比,增加了多个定位点和容错机制。容错机制能够在无法识别全部二维码的时候,通过几个定位点,就还原出二维码所包含的全部信息。二维码的生成与开发较为容易,因而不同公司可能有多个不同种类的二维码,而这些二维码往往也具有不同的数据表示结构与识读方法。一般的二维码是通过三个定位点来进行辨识的。而二维码的自动校准方向也是通过这三个定位点实现的,所以从任何方向扫描二维码都是可以被识别的。容错机制则实现了不完全读取的功能,在无法读取全部条码或者条码被损毁的情况下,也能够正确地还原二维码包含的数据。

因为二维码的安全性较高,用二维码容纳信息的安全保障性较好。二维码是大容量、高密度性信息进行存储、携带与识读的高效方法。手机二维码实现的主要功能有两种:一是识读,识读是借助基于二维码识别系统的相关应用识读出条码所包含的信息,通过识读二维码可以在浏览器打开二维码内的链接,从而进行网上浏览、网上购物、信息查询等多种活动;二是身份登录,是由服务提供者向通过认证的用户发送含有身份认证信息的二维码,用户通过二维码读取设备对二维码进行扫描识别,从而实现身份识别的功能,可以作为电子凭证使用。

1.2 国内外研究情况及背景

1.2.1 国内外发展现状

二维码定位算法。

国外的二维码编码解码技术的开发起源于1980年,一些科研机构研究出了多种二维码图形的编码码制。而国际自动识别制造商协会、美国标准化协会则完成了QRCode、PDF417、CodeOne、Code16K、Code49等码制的符号标准。国际电工委员会的条码自动识别技术委员会则制定了QRCode的国际标准,并且沿用到现在。而西方国家在二维码的扫描识别方面,对于相关设备的设计制造和生产拥有一套成熟的技术。各类二维码的应用系统广泛传播。

早在1993的时候,中国就开始进入二维码领域,对常用的几种二维码技术进行了分析与研究。随着现代社会的迅速发展和相关电子产业的爆炸式增长,电子厂商对二维码这种新技术的需求也与日俱增。

1.2.2 二维码加密算法运用的的背景

随着智能手机的普及以及信息化的发展,二维码的实用性越来越为人们青睐,利用二维码进行信息读取和用户登入已经十分普遍。二维码定位算法。

但是由于二维码技术的门槛较低,并且二维码的编码与解码技术已经非常成熟,违法分子利用二维码来传播病毒并进行犯罪活动,而一个二维码内是否具有安全隐患,从其外表上是难以辨别的,这些都严重威胁了社会的信息安全和人们的财产安全。面对二维码存在的漏洞与隐患,信息部门技术的完善与用户自身防范意识的提高都很重要,但是这些只能治标。唯有从数据本身着手,开发带有安全认证的扫码技术,才能有效防患于未然。因此,数据加密技术的运用势在必行。

在密码学中为了防止一个密码被发现内在规律而破解,密码的生成必须具有随机性,但是加密的方法也与所需加密的数据量的大小相关。DES由于需要进行16轮迭代置换,因此在对小数据量数据进行加密时具有明显的优势,而QR码的是以二进制数据0与1进行编码的,数据量较小,在满足数据加密的要求时,是比较经济的选择。 1.2.3 加密算法的发展历史

随着社会的进步,对于信息保密的要求也不断提高,加密算法也处于不断地发展完善中。早在公元前400年,古希腊人就发明了艾奈阿斯绳结等置换密码;第一次世界大战时,对于无线电信息的保密使得人们再次重视密码学;在第二次世界大战时,德军使用的“恩尼格玛”密码机,是密码学的再次实践应用;而20世纪末的时候,美国国家标准局公布实施的“美国数据加密标准”,就是现在DES加密算法的由来。

1.2.4 加密算法的分类

加密一般分为三类,分别是消息摘要算法、对称加密算法和非对称加密算法。

(1)消息摘要算法

消息摘要算法是输出固定格式与长度的密文的一种算法,与输入端数据的大小无关,经过加密后输出的密文的长度是一定的。消息摘要算法的原理是根据一定的规则对输入的数据进行有规律的提取,被提取的数据内容与原数据有对应关系,原始数据改变,则输出密文就相应变化,因此这种算法数据的保密性很高。但是,因为输出密文长度的既定性也使得其无法还原为初始数据,是不可逆的,因此消息摘要算法一般只用来对数据的完整性进行验证。

经过不断的发展完善,现在的消息摘要算法主要有MD4、MD5、SHA等几种,其中MD5算法的运用最广泛。单向散列函数MD5是公认的强度最高的加密算法,是在解决MD4冲突的漏洞的基础上发展而来的。

(2)对称加密算法

对称/不对称加密算法与其他算法的区别在于密钥“key”的运用。对于以往不用密钥,以固定规律变换字符串形成密码来传输消息,一旦密码变换规则被破解,那么产生的结果往往是灾难性的,二战时日本中途岛的惨败就是由于这点。而在对称加密算法中,其安全性取决于key的长度,破解难度很高。数据发送端将数据明文与密钥通过加密算法进行加密,把加密后的密文发送出去。接收方收到密文后,使用发信方的密钥及相同算法对应的逆算法对密文进行解密,就能把密文恢复成能够识读的明文。在对称加密算法中,数据的加密和解密

【1】 使用的是相同的密钥,数据的保密性完全取决于密钥的安全性。

对称加密算法主要有DES、IDEA、AES、RC4、RC5等,其中DES算法是最常用的加密算法。

(3)非对称加密算法

非对称加密算法的加密过程是单向的,即发信方将明文通过“公钥”加密后传输给收信方,收信方则用“私钥”进行解密,把密文恢复成能够识读的明文。而信息一旦加密,则 “公钥”也无法进行解密,这样即使数据在中途被人拦截,入侵者也无法对其进行破解,只有“私钥”的持有者才能识读信息内容。

非对称加密算法现在常用的是RSA算法。

1.3 可行性研究

一项设计的实现必须分析它的需求与可行性,而如果这项设计有深远意义却在技术与系统上难以实现,那么这项设计就不能称之为有意义的设计。本文结合类似的实例,主要从社会、经济、技术与操作四个方面讨论该项设计的系统开发可行性。

1.3.1 社会可行性

本设计实现了让用户通过账号登录方式扫描识别二维码的功能,并且具有操作简单 、界面友好的特点,可以使人们深入了解Android手机二维码扫描识别功能实现的过程。

1.3.2 经济可行性

目前二维码在国内已经引起用户的广泛关注,许多相关研究工作已经展开,作为一项发展前景远大的技术,资金的投入并没有问题,而本项设计的实现基于普通PC和Android手机,对硬件与系统要求都不高,成本低廉。从经济可行性分析来看是可行的。

1.3.3 技术可行性

本设计以应用和实用为主,选择了Java语言作为开发语言,Eclipse作为开发环境,并且二维码扫描与识别技术作为一项前景广阔的技术,目前在国内外得到长远发展,有较成熟的技术,技术上是完全可行的。

本设计综合考虑了数据加密的相关原理和数字图像加密方法与优缺点之后,研究了对数据进行加密解密的方法,与二维码的结构特征和生成、扫描识别方式,通过Java程序的设计,实现DES加密算法与二维码加密的有机统一,来确保其安全性与保密性。

1.3.4 操作可行性

本设计只需要一台Android智能手机安装应用并进行二维码的扫描识别,操作方便可行。二维码定位算法。

1.4 本文研究内容

二维码生成与识别
篇四:二维码定位算法

南京航空航天大学

题 目

小组成员:程设计

二维码的生成及识别

何俊豪 韩怀晓 晋晓飞

瞿诗华 薛莉

二〇一五年十一月

第一章 QR码简介

QR码是由日本Denso公司与1994年制定出来的一种矩阵二维码符号,它除了具有信息容量大、可靠性高、可表示汉字及图像信息、保密性强等优点外,还具有超高速响应、全方位识别等特点。

QR码符号是由正方形的细小模块构成,分为功能区和编码区。功能图形包括位置探测图形、分隔符、定位图形、校正图形、格式信息、版本信息等,编码区域包括数据编码块和纠错码图形。普通QR码基本图形及区域功能对照图如图1.1所示。

图1.1 QR码基本结构

1.1 QR码的密度标识图形

位于两个“回”字标识符之间的黑白相间的条纹,用红色线标注的,这个区域可以用于确定QR码符号的像素方块的密度(即一个像素的大小),标识识别模块如图1.2所示。

图1.2 QR码密度标识图形

1.2 位置探测图形

位置探测图形由三个重叠的同心正方形构成,如图1.3所示。通过探测位置探测图形可以迅速的从背景图像中判断出QR码符号的大致位置。

图1.3 QR码探测图形

二维码定位就是找到二维码符号的位置探测图形,对有明显条码特征的区域进行定位,然后根据图形结构特征值对不同的条码符号进行进一步的处理。通过QR码的定位图形,可以得到左上角位置探测图形的边界点和左下角位置探测图形的边界点如图1.4(a)所示,因此可以采用鲁棒性较好的算法拟合条码左边框,然后通过直线拟合得到条码的上边框直线。在此基础上构建直角三角形,寻找出图形中心,如图1.4(b)所示,并可以得到第四个交点,如图1.4(c)所示。

(a)确定左边界和上边界 (b)确定探测图形中心 (c)确定第四个交点

图1.4 条码图像初步定位流程

1.3 版本信息

QR码符号共有40种规格,版本1的规格为21模块×21模块,版本2为25模块×25模块,以此类推,每一版本符号比前一版本每边增加4个模块,直到版本40,规格为177模块×177模块。QR码的版本信息图形在整个二维码图像中的位置如图1.5所示,QR码最高版本40可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。

图1.5 版本信息图形

1.4 纠错码

QR码具有“纠错能力”,即使在使用过程中遇到污损、折叠等现象,也可以自动恢复数据。这一“纠错能力”具备四个级别,级别越高,纠错能力越高,但是数据量也会增加,

编码尺寸也会变大。QR码各级别纠错码纠错能力如表1.1所示。

表1.1 纠错码级别纠错能力对照表

QR码的纠错能力 级别L 级别M 级别Q 级别H

约7% 约15% 约25% 约30%

第二章 QR码编码规则介绍

将输入的数据转变为一个位流,如果最开始的模式指示符不是默认的,其前面要用ECI标头,如果以默认的开始,位流的开头为第一个模式的指示符,如表2.1 所示,该表定义了不同模式下的模式指示符。表2.2定义了不同模式和符号版本下的字符计数指示符的长度。

表2.1 模式指示符

模式 ECI 数字 字母数字 8位字节 日本汉字 中国汉字 结构链接 FNCI

终止符(信息结尾)

表2.2 字符计数指示符的位数

版本 1~9 10~26 27~40

数字模式 10 12 14

字母数字模式

9 11 13

8位字节模式

8 16 16

中国汉字模式

8 10 12

指示符 0111 0001 0010 0100 1000 1101 0011

0101(第一位置) 1001(第二位置)

0000

2.1 数字模式编码实现

将输入的数据从左至右每三位转化成一个10位的二进制数,剩余的一位或者两位数据分别转化成4位或7位二进制数。然后在转换后的二进制数据前加上模式指示符和字符计数指示符。例如输入数据:88899966,编码步骤如图2.1所示。

本文来源:http://www.myl5520.com/shiyonggongju/108654.html

推荐内容