1 说明

因为QR是一个较为复杂的协议,单说原理已经很难在短篇文章说尽。因此我们这里从最简单的QR设计和开发QR方面的应用,从中理解QR的原理。

2 设计一个问题

我们从下表入手,表中最简单的信息是:长度为17的数字段。采用版本=1;采用纠错等级=H;数据码的字数=9;数据的位数=72;

3 协议分析和生成码

QR图的区域和约定:

4 版本1的信息

5 寻象图形

        寻象图形包括三个相同的位置探测图形,分别位于符号的左上角、右上角和左下角,如
图 2 所示。每个位置探测图形可以看作是由 3 个重叠的同心的正方形组成,它们分别为 7X7
个深色模块、5​​​X5 个浅模块和 3X3 个深色模块。如图 9 所示,位置探测图形的模块宽度比为
1:1:3:1:1。符号中其他地方遇到类似图形的可能性极小,因此可以在视场中迅速地识
别可能的 QR 码符号。识别组成寻象图形的三个位置探测图形,可以明确地确定视场中符号
的位置和方向。

6 分隔符

        在每个位置探测图形和编码区域之间有宽度为 1 个模块的分隔符,如图 1、2 所示,它全部
由浅色模块组成。

7 定位图

        水平和垂直定位图形分别为一个模块宽的一行和一列,由深色浅色模块交替组成,其开
始和结尾都是深色模块。水平定位图形位于上部的两个位置探测图形之间,符号的第 6 行。
垂直定位图形位于左侧的两个位置探测图形之间,符号的第 6 列。它们的作用是确定符号的
密度和版本,提供决定模块坐标的基准位置。下图的红圈内部就是定位图。

8 校正图形

        每个校正图形可看作是 3 个重叠的同心正方形,由 5×5 个的深色模块,3×3 个的浅色
模块以及位于中心的一个深色模块组成。校正图形的数量视符号的版本号而定,在模式 2
的符号中,版本 2 以上(含版本 2)的符号均有校正图形。

以第二、七 版本为例说明(因为版1没有矫正符)

(未完待续)

参考网站

二维码(QR code)基本结构及生成原理 (360doc.com)

QR Code Generator | Create Your Free QR Codes (qr-code-generator.com)

halcon知识:【2】二维码原理相关推荐

  1. 二维码原理--开胃小知识

    二维码是什么原理?不知道从什么时候开始,我们的生活突然之间就充满了二维码,看网页要扫二维码,加好友要扫二维码,现在连楼下卖草莓的大爷都支持扫码支付,那么,你有没有想过,这个长得很奇怪的二维码,到底是怎 ...

  2. 二维码原理解析,生成一个二维码需要这些知识

    /   今日科技快讯   / 近日,在英伟达取消以400亿美元收购英国芯片设计公司ARM的计划后,ARM宣布将在全球范围内裁员,大约涉及1000名员工.ARM在声明中表示:"与其他公司一样, ...

  3. Android二维码原理与优化方向

    困惑 做过Android的二维码扫描的童鞋可能会遇到过,很多二维码识别不了,或者识别速度慢.一般造成这个识别不出来的原因,大概以下几点: Android手机配置不一样,手机像素高低也有不同,有的手机还 ...

  4. halcon知识:【1】二维码原理

    1 QR码的历史 1994 年, DENSO WAVE子公司需要更好.更快.更强大的条码技术来处理更多字符并帮助他们跟踪车辆和零件. Masahiro Hara 和一个两人团队承担了开发我们现在知道和 ...

  5. java 二维码原理以及用java实现的二维码的生成、解码

    QR码生成原理(一) 一.什么是QR码 QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化.QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示 ...

  6. 手机扫描条形码二维码原理和实现等网上资料整理

    有志于要从事条形码和二维码开发的同学,和我一样想多了解这方面的东西.但是苦于网上资源甚少,我已经把现有资源整理如下. 原理.实现方案.代码资源.规则是否通用比如加密如何实现? ============ ...

  7. 二维码原理及生成示例

    二维码介绍 简介 二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的 ...

  8. 二维码原理、制作和识别

    参考: 二维码(QR code)基本结构及生成原理(附标准下载) 二维码到底是怎么被识别的?黑白小方块又是怎么储存数据的? 一.矩阵式二维条码QR 矩阵式二维条码(又称棋盘式二维条码) QR码的设计理 ...

  9. 二维码原理与编码介绍

    一 简介 二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的. 二维码是DOI(Digital Object Unique Identifier ...

最新文章

  1. shinyapps安装
  2. 判断当前时间是否大于零点_入伏是祛湿最佳时间!中医教你3招判断是否湿气重...
  3. 解决“The type initializer for'Oracle.DataAccess.Client.OracleConnection' threw an exception ”异常...
  4. UI设计:掌握这6点,轻松0到1
  5. 提高软件开发、软件维护的效率和质量的利器
  6. linux 进程wait,linux 进程等待 wait 、 waitpid(示例代码)
  7. 实现多线程爬取数据并保存到mongodb
  8. vuejs模仿实现一个电影分享类网站
  9. 这道小学六年级的数学题,恕我直言没几个人会做
  10. 用c语言编写成绩单由高到低,C语言程序设计实验.doc
  11. 使用pm2部署vue项目
  12. python字典求平均值_查找字典中值的平均值
  13. 解析人类的四次工业革命
  14. 程序设计学习(c++)(课堂学习2)
  15. oracle误删除一条数据库,Oracle误删除数据的恢复方法
  16. Unmatched braces in the pattern
  17. 学生信息管理系统代码全篇
  18. Storm学习(一)Storm介绍
  19. picoCTF Web1
  20. 7-5 宿舍谁最高? (20 分)

热门文章

  1. torchvision 笔记:ToTensor()
  2. Linux疑难杂症解决方案100篇(六)-SHELL编程条件判断和流程控制
  3. 优化器 - tf.keras.optimizers.SGD()【TensorFlow2入门手册】
  4. selenium教程
  5. Original error was: DLL load failed: 找不到指定的模块。--解决办法
  6. LeetCode-剑指 Offer 25. 合并两个排序的链表
  7. Python中datetime类错误
  8. 机器学习中的lazy method与eager method的比较
  9. Gumble Distribution耿贝尔分布
  10. 【LeetCode从零单排】No.8 String to Integer (丧心病狂的一道题)