工业平板电脑,手持终端PDA,三防加固平板电脑,工业电脑

客服热线025-86138771

二维码QR Code结构详解,生成方式以及解码策略分析

作者:手持机PDA手持终端解决方案提供商    来源:www.njmy.com.cn    发布时间:2019-01-10 19:23    浏览量:

在我们日常生活中,二维码现在非常普遍,移动支付、仓储物流中广泛使用,拿出PDA轻轻一扫即可解决我们生活中的很多问题,那么您真的了解二维码的结构吗?本文就让达席耳工程师为大家介绍二维码QR Code结构详解,生成方式以及解码策略分析:

二维码QR Code结构详解:
1.版本信息:version1(21*21),version2,...,version40,一共40个版本。版本代表每行有多少模块,每一个版本比前一个版本增加4个码元,计算公式为(n-1)*4+21,每个码元存储一个二进制0或者 1。1代表黑色,0表示白色。比如,version1表示每一行有21个码元。
2:格式信息:存储容错级别L(7%),M(15%),Q(25%),R(35%)。容错:允许存储的二维码信息出现重复部分,级别越高,重复信息所占比例越高。目的:即使二维码被图标遮住一部分,一样可以获取全部二维码内容。有图片的二维码, 图片不算二维码的一部分,它遮住一部分码元,但还是可以扫描到所有内容。
3.数据和纠错码字:实际保存的二维码信息,和纠错码字(用于修正二维码损坏带来的错误,就是说当码元被图片遮住,可以通过纠错码字来找回)。
4.位置探测图形、位置探测图形分隔符、定位图形,校正图形:用于对二维码的定位。位置探测图形用于标记矩形大小,3个图形确定一个矩形。定位符是因为二维码有40个版本尺寸,当尺寸过大后需要有根标准线,不然扫描的时候可能会扫歪。
 
二维码QR Code的生成
信息按照一定的编码规则后变成二进制,通过黑白色形成矩形。
1、根据version和纠错级别(纠错码的数量)编码生成一个二进制序列,序列包含
编码类型的二进制(数字类型,字符类型有特定的编码)     编码内容的长度的二进制      编码内容的二进制    结束符(4个0)
2、将序列按8bits为一组重排,如果所有的编码加起来不是8个倍数,还要在后面加上足够的0。
3、补码。如果序列还没有达到最大的bits数的限制,还要加一些补齐码(Padding Bytes),Padding Bytes就是重复下面的两个bytes:11101100 00010001。每种版本的bits的位数是不同的。
4、生成纠错码。可以查看文档的第30页到44页的Table-13到Table-22的定义表,可以知道生成纠错码的过程。
5、穿插放置。把数据码和纠错码的各个8位一组的十进制数(codewords)交替放在一起。如何交替呢,规则如下:
对于数据码:把每个块的第一个codewords先拿出来按顺度排列好,然后再取第一块的第二个,如此类推。
对于纠错码:规则也是一样。
然后按数据码在前纠错码在后合并起来。
6、加上Reminder Bits,对于某些Version的QR,上面的还不够长度,还要加上Remainder Bits,比如:5Q版的二维码,还要加上7个bits,Remainder Bits加零就好了。关于哪些Version需要多少个Remainder bit,可以参看文档的第15页的Table-1的定义表。
7、按照一定规则进行掩码,就是进行异或,分散数据,进行画图。
 
二维码QR Code的解析
 
1、定位图形:首先寻找探测图形,就是二维码上的三个方块。这三个方块的作用就是不管在哪个方向扫描图形,都可以扫到,不信可以将手机翻转测试一下。在通过二维码上的定位图形和分隔符确定二维码信息的图像。定位图形确定二维码符号中模块的坐标,二维码中的模块都是固定的,包括校正图形,版本信息,数据和纠错码。分隔符呢,就是将探测图形与二维码信息图像分开。
 
 
 
2、灰度化二维码信息像素:手机拍到的图像都是彩色的,所以拍摄到二维码也不列外,它也是彩色的,只不过除了黑白,其他颜色非常浅而已。灰度化是指通过颜色的深浅来识别二维码,就是说颜色深的按深灰处理,浅色的按浅灰处理,去掉其他颜色。
 
 
3、去掉二维码信息像素的噪点:相机的传感器在把光线作为接收信号和输出过程产生的粗糙像素,这些粗糙的像素是照片中不应该出现的干扰因素。噪点就是指这些粗糙的像素。
 
 
 
4、二值化二维码信息像素:二值化是说将图像上像素灰度值设置为0或者255,也就是变成只有黑白两种颜色。第一步已经灰度化变成只有深灰和浅灰两种颜色,现在二值化是将深灰变成黑色,浅灰变成白色。为什么变成黑白色呢。因为二维码图像其实是由二进制的0或者1组成,0代表白色,1代表黑色。二维码在二值化时会将二维码图像变成只有黑白色的条码,然后根据解析公式什么的(因为像素是0-255之间,要全部转变成0或者255,估计得经过一些计算,然后0就是0,255变为1)转化成二进制信息。
 
5、二维码译码和纠错:将得到的二进制信息进行译码和纠错。得到的二进制信息是版本格式信息、数据和纠错码经过一定的编码方式生成的,所以译码是对版本格式信息,数据和纠错码进行解码和对比。纠错是和译码同时进行的,将数据进行纠错。
 

下一篇:没有了
达席耳新品播报:5寸安卓系统手持终端/手持机/PDA一维码二维码可扫描,安卓7.0/8.1系统,IP65防护等级,自带可拆卸电池4000mAh,蓝牙wifi/4G/GPS

企业分站 在线客服 :     服务热线:025-86138771 / 15062244194 / 17037625086     电子邮箱: [email protected]

公司地址:江苏省南京市江宁区秣周东路12号U313 sitemap

研维立足于行业终端技术的持续发展,自主研发全坚固工业三防加固平板电脑/工业安装平板电脑产品,包含加固手持终端pda(4寸/5寸/6寸),加固平板电脑pad(8寸/10寸),无风扇嵌入式工业平板电脑(8寸/10.1寸/10.4寸/11.6寸/12寸/15寸/17寸/19寸/21.5寸/32寸)。全系列手持终端pad-pda产品防护等级高达IP65~IP67, 美军标MIL- STD-810G防震耐冲击,包含2G/3G/4G,双频WiFi,蓝牙 4.0,北斗/GPS,NFC,一维码/二维码扫描,身份证,指纹等技术。并有多种配件可选,满足客户对工业、航空、航天、车载、警用、教育、勘探、渔牧业、金融等各行各业需求。

三防加固手持终端PDA数据采集器厂家微信公众号
Copyright © 2008-2019 南京达席耳智能科技有限公司 版权所有 备案号:苏ICP备18023300号-2
主营区域:北京江苏浙江上海安徽山东四川广东福建天津河北河南湖南湖北陕西、山西、辽宁吉林江西黑龙江重庆内蒙古广西海南贵州云南新疆甘肃宁夏青海西安成都深圳杭州苏州广州武汉青岛东莞珠海宁波郑州