求手机扫描二维码的工作原理 50
还有手机的摄像感应装置是否能感应到人眼看不到的光谱呢? 展开
现在常见的二维码都是以QR码作为编码的码制,它是在一个矩形空间内,通过黑、白像素在矩阵中的不同分布来进行编码的。
我们知道电脑使用二进制(0和1)数来贮存和处理数据,而在二维码中,用黑白矩形表示二进制数据,我们肉眼能看到的黑色表示的是二进制“1”,白色表示二进制的“0”,黑白的排列组合确定了矩阵式二维条码的内容,以便于计算机对二维码符号进行编码和分析。通过黑白表示0和1便于计算机读取,锋伍这就是二维码为什么都是黑白图形的原因。
扩展资料:
探测图形
二维码上有三个方块,它的准确叫法就是位置探测图形。有了这三个点,不管是从哪个方向读取二维码,信息都可以被识别。即使将二维码图形旋转,也可准确识别。
每个位置探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7×7个深色模块、5×5个浅模块和3×3个深色模块。位置探测图形的模块宽度比为1:1:3:1:1。这种1:1:3:1:1的宽度比例特征在图像的其他位置出现的可能性很小,因此被作为位置探测图形的扫描特征。
此外,二维码上还有一些图形混杂在几何图形中,是肉眼前基态看不出来的,比如定位图形和分隔符。定位图形就是图中连接三个位置探测图形之间慧源的两根“线”,它的作用是决定二维码符号中模块的坐标,而分隔符的作用是将位置探测图形与符号的其余部分分开。
二维码其实就是由很多0、1组成的数字矩阵。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方毁激向上)分布的黑白相间的图形记录数据符号信息的。
在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。
它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同拆散行的信息自动识别功能、及处理图形旋转变化点。
二维条码的阅读设备依阅读原理的不同可分为:
(1) 线性CCD和线性图像式阅读器(Linear Imager)
可阅读一维条码和线性堆叠式二维码(如PDF417),在阅读二维码时需要沿条码的
垂直方向扫过整个条码,我们称为“扫动式阅读”。这类产品比较便宜。
(2)带光栅的激光阅读器
可阅读一维条码和线性堆叠式二维码。阅读二维码时将光线对准条码,由光栅元件完成垂直扫描,不需要手工扫动。
(3) 图像式阅读器(Image Reader)
采用面阵CCD摄像方旅余氏式将条码图像摄取后进行分析和解码,可阅读一维条码和所有类型的二维条码。
扩展资料:
一个qrcode格式二维码的基本结构,其中:
1.位置探 测图形、位置探 测图形分隔符、定位图形:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有所差异;
2.校正图形:规格确定,校正图形的数量和位置也就确定了;
3.格式信息:表示改二维码的纠错级别,分为L、M、Q、H;
4.版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本每边增加4个模块。
5.数据和纠错码字:实际保存的二维码信息,和纠错码字(用于修正二维码损坏带来的错误)。
参考资料来源:百度百科-二维码
二维码扫描定位流程
不过,手机拍到的照片都是彩色的,对于扫描的二维码也是一样,它默认也是彩色的,只不过颜色有深有浅而已,所以识别软件正是依靠颜色的深浅来完成对二维码识别的第一步。这一步叫做灰度化,也就是说颜色深的按深灰处理,颜色浅的按浅灰处理。
仅仅有了灰度的识别还是不够的,因为扫描时受周围环境的影响,会有噪声。这里所谓的噪声其实就相当于手机拍照时产生的噪点一样,也许照片上的噪点对照片并不会有太大的影响,但是扫描时的噪声却容易引起扫描的分析错误,所以第二步就是去噪。
完成了上面两步,就进入至关重要的二值化流程。因为上面已经说过,计算机采用二进制,而将深灰和浅灰的图案转换成只有黑或白两种颜色,就是二值化处理的任务,在二值化处理时,二维码将会首陆差先被解读成白色黑色的条码。然后根据解析公式和阈值运算将其转化成二进制信息,也许再深入讲解公式可能一般人不能理解,但是我们要知道,二值化是一个非常复杂而且需要相当准确的步骤。
结束了上面的三步,接下来就是寻找探测图形。什么是探测图形呢?
经常看二维码的朋友都知道,二维码上有三个方块,这三个方块有什么作用?代表了怎样的含义呢?其实它的准确叫法就是位置探测图形。有了这三个点,不管是从哪个方向读取二维码,信息都可以被识别。即使将二维码图形旋转,也可以识别。
每个位置探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7×7个深色模块、5×5个浅模块和3×3个深色模块。位置探测图形的模块宽度比为1:1:3:1:1。这种1:1:3:1:1的宽度比例特征在图像的其他位置出现的可能性很小,因此被作为位置探测图形的扫描特征。正是基于此特征,当一条直线上(也就是扫描时看到的那条红线)被黑白相间地截为1:1:3:1:1时,可以认为该直线穿过了位置探测图形。
此外,二维码上还有一些图形混杂在几何图形中,是肉眼看不出来的,比如定位图形和分隔符。定位图形就是图中连接三个位置探测图形之间的两根“线”,它的作用是决定二维码符号中模块的坐标,而分隔符的作用是将位置探测图形与符号的其余部分分开。也就是说,通过扫描能读取的数据信息在二维码中的位置是由定位图形和分隔符决定的。所以二维码上都有三个小方块,它的作用主要是方便识别和决定二维码符号中模块的坐标。
二维码译码与纠错
当得到了一个可识别的二维码后,接下来的工作就是译码和纠错。译码就是对二维码中所包含的格式信息、版本信息、数据和纠错码信息进行解码和比对,而纠错是在译码的同时进行的。其实,一个二维码除了上面讲到的探测图形外歼仔,还有各种译码信息被集成在二维码中,通过二维码包含信息示意图我们就可以对一个二维码所含的信息元素有大概的了解。
完成了译码,手机上从二维码的识别到解码的工作就完成了,剩下的工作就是联网传输数据,从而获得二维码的相关内容。也许你不曾想到,看似操作简单的二维码识别,没想到背后会涉及到这么多的步骤和公式计算,而这仅仅还是针对普通的二维码,如果是一个加密的二维码,其背后的工作可想而知。
如果我在现有的图形上嵌入对视觉不产生影响的隐藏是二维码,有可能么?
它利用光电元件将检测到的光信号转换成电信号,再将电信号通过模拟数字转换器转化为数字信猛薯悔号传输到计算机中处理。
当扫描一副图像的时候,光源照射到图像上后反射光穿过透镜会聚到扫描模组上,由扫描模组把光信号转换成手明模拟数字信号(即电压,它与接受到的光的强度有关。这时候模拟-数字转换电路把模拟电压转换枝正成数字讯号,传送到电脑。