二维码的制作及原理

简要介绍二维码的制作原理

随着社会的发展和科技的进步,二维码的出现大大的方便了我们的生活,并提高了我们的生活水平。在我们现在的生活中充斥着各种的二维码,基本每天的生活都离不开二维码。条码的发展经历了大致两个阶段,在二维码出现之前被我们所熟知的是条形码,因为其只在一个方向上有维度因此也叫做一维码,它普遍出现在我们商品的包装上,我们通过仪器扫描就能了解商品的一些基本信息。但是随着科学技术的发展,一维码已经不能实现和满足人们生活的需求,进而二维码出现了。二维码相对一维码来说除了具有一维码的基本优点外,它还具有信息容量大和可靠性高等优点。主要研究了二维码的种类,并让读者了解QR Code的基本编码规则,另外还研究了二维码的制作及识别原理,识别其实就是一个解码过程,在解码过程中也涉及到了很多的算法。此外在改进后对算法识别效率和二维码的容错性能进行了分析,并对执行时间和关键算法结果进行了优化。通过实验和仿真,QR码的解码效率有所提高并且能够保持相对稳定。

一个二维码的基本构成如下图所示。它是由一个个小方块组成,来表示信息数据的。它是由功能图形和编码区格式两大部分组成。如下图所示。在这里插入图片描述
QR码的编码过程
在这里插入图片描述
系统的运行和测试
本程序是通过MATLAB 实现完成的,通过程序的编码和调用来完成的,例如我们实现二维码信息扫描结果为“我爱你中国!”下面就是运行的最终结果:
在这里插入图片描述
下面是部分代码:

writer = ZXing.MultiFormatWriter();
reader =ZXing.MultiFormatReader();

hints = NET.createGeneric('System.Collections.Generic.Dictionary', {'ZXing.EncodeHintType', 'System.Object'});
hints.Add(ZXing.EncodeHintType.CHARACTER_SET, 'utf-8')
mtx = writer.encode('我爱你中国!', ZXing.BarcodeFormat.QR_CODE, 400, 400, hints);
m = char(mtx.ToString());
m(m==13) = [];
m(m==10) = [];
m = m(1:2:end);
m = reshape(m, 400, 400);
m(m~='X') = 1;
m(m=='X') = 0;
m = double(m)';
imshow(m);imwrite(m,'qr.jpg','jpg')%写出图片
QRimg = imread('qr.jpg');
% ans = zxing_decode(QRimg);
% disp( ['译码出来的信息:' ans] );

希望大家多多支持!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值