二维码分类 |
您所在的位置:网站首页 › 常用的扫码支付有几种 › 二维码分类 |
二维码分类
最近在做二维码解码的项目。用的是zxing库+VS2015+OPENCV3.4,网上说ZBAR库也ok; 概念: 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二位方向上)分布的黑白相间的图形记录数据符号信息的图形。 一维条码 一维条码是由一组粗细不同、黑白(或彩色)相间的条、空及其相应的字符(数字字母)组成的标记,即传统条码。 一维条码示意图: 二维条码是用某种特定的几何图形按一定规律在平面(二维方向)上分布的条、空相间的图形来记录数据符号信息。 二维码: 二维条码也有许多不同的码制,就码制的编码原理而言,通常分为三种类型: 1.线性堆叠式二维码 2.矩阵式二维码 3.邮政码 线性堆叠式二维码 编码原理:建立在一维条码基础之上,按需要堆积成两行或多行,整体风格类似一维码。 线性堆叠式二维码示意图:
在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,是最为常见的二维码类型,其中包含了最为流行的QR_Code。 矩阵式二维码示意图: 邮政码通过不同长度的条进行编码,主要用于邮件编码,如:POSTNET、BPO 4-STATE,一般通过不同长度的条作为邮件编码。 目前流行的三大国际标准: PDF417:不支持中文 DM:专利未公开,需支付专利费用 QR Code:专利公开,支持中文 QR Code比其他二维码相比具有的优势: 识读速度快数据密度大占用空间小QR Code是由日本Denso公司于1994年研制的一种矩阵二维码符号吗,全称是Quick Response Code Data Matrix码 ata Matrix原名Data code,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明,整个图形尺寸伸缩自如,大可以做成1米1米。小可以做成0.30.3mm。Data Matrix又可分为ECC000-140与ECC200两种类型,ECC000-140具有多种不同等级的错误纠正功能,而ECC200则透过Reed-Solomon演算法产生多项式计算出错误纠正码,其尺寸可以依需求印成不同大小,但采用的错误纠正码应与尺寸配合,由于其演算法较为容易,且尺寸较有弹性,故一般以ECC200较为普遍,常应用于电子产品表面。 ECC200 是最新的 Data Matrix码版本,可以配置为正方形或矩形。ECC200 已国际标准化。当需要 Data Matrix 码时,通常使用 ECC200 版本。 Data Matrix(ECC200)码结构 Data Matrix 码的数据区域四周为 L 形框(称为“对准图案”)和点线(称为“时钟图案”)。读取器将捕获这些图案,通过图像处理技术确定代码的位置。因此,可从任何方向上读取 Data Matrix 码。 当模块数目超过 24 × 24 时,代码将分成区块,每侧不会超过 24 个模块。此结构可防止代码失真。 在这里插入图片描述 共有 24 种代码尺寸,范围为从 10 × 10 模块到 144 × 144 模块(对于矩形,共有六种尺寸)。 当某个代码的模块数目超过 26 × 26(对于数据,模块数目超过 24 × 24)时,它会划分为区块,如下所示,每侧不超过 24 个模块。此结构可防止代码失真。 工程中用到的一些二维码: AprilTags可以应用于: 相机标定 目标大小估计 测量相机到目标的距离 3D 定位(3D positioning) 机器人 SLAM 自主导航(autonomous navigation) AprilTag family默认的是:Tag36h11,在AprilTags中有六个系列families: Tag36h11 TagStandard41h12 TagStandard52h13 TagCircle21h7 TagCircle49h12 TagCustom48h12 标签系列的区别? 例如,TAG16H5家族,16为16个像素块,5为假阳性值,其实际上是一个4x4的方形标签。一般来说,默认使用族TAG36H11。当然现在AprilTag更新到了第三代,使用tagStandard41h12更好。 APRILTAG原理 AprilTag内容主要包含三个步骤。 第一步:根据梯度检测出图像中的各种边缘 第二步:在边缘图像中找出需要的四边形图案并进行筛选 AprilTag尽可能的对检测出的边缘检测,首先剔除非直线边缘,在直线边缘进行邻接边缘查找,最终若形成闭环则为检测到一个四边形) 第三步:进行二维码编码和二维码解码 编码方式分为三种,其黑边色块长度分别为8,7,6三个色块长度,对于解码内容,要在检测到的四边形内生成点阵列用于计算每色块的值,再根据局部二值模式(Local Binary Patterns)构造简单分类器对四边形内的色块进行分类,将正例色块编码为1将负例色块编码为0,就可以得到该二维码的编码。得到编码以后再与已知库内的编码进行匹配,确定解码出的二维码是否为正确。 APRILTAG图像生成 下载openmv软件 中国官网地址:http://openmv.cc (点击 软件下载) 美国官网下载地址:https://openmv.io/pages/download 安装后打开,依次按照图示进行,选择相应文件夹生成即可 另外,在查阅资料的时候发现MaixPY 也可以实现类似的功能。
最后感谢慕课网老师:https://www.imooc.com/video/10311 参考:https://www.freesion.com/article/42341128173/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |