除沫器厂家
免费服务热线

Free service

hotline

010-00000000
除沫器厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

简单一扫开启不简单的历程

发布时间:2021-01-20 19:50:22 阅读: 来源:除沫器厂家

二维码已经走进我们的生活,在本期杂志封面上、软件下载网站里、大街小巷的宣传广告中我们随处可见二维码。我们已经习惯了拿着手机对着二维码轻轻一扫,软件自动识别的过程,可是你知道在这短短的几秒钟时间里,二维码是如何被定位识别的吗?

说起二维码,现在常见的二维码都是以QR码作为编码的码制,它是在一个矩形空间内,通过黑、白像素在矩阵中的不同分布,来进行编码的。我们知道电脑使用二进制(0和1)数来贮存和处理数据,而在二维码中,用黑白矩形表示二进制数据我们肉眼能看到的黑色表示的是二进制“1”,白色表示二进制的“0”,黑白的排列组合确定了矩阵式二维条码的内容,以便于计算机对二维码符号进行编码和分析。通过黑白表示0和1便于计算机读取,这就是二维码为什么都是黑白图形的原因。

不过,手机拍到的照片都是彩色的,对于扫描的二维码也是一样,它默认也是彩色的,只不过颜色有深有浅而已,所以识别软件正是依靠颜色的深浅来完成对二维码识别的第一步。这一步叫做灰度化,也就是说颜色深的按深灰处理,颜色浅的按浅灰处理。

仅仅有了灰度的识别还是不够的,因为扫描时受周围环境的影响,会有噪声。这里所谓的噪声其实就相当于手机拍照时产生的噪点一样,也许照片上的噪点对照片并不会有太大的影响,但是扫描时的噪声却容易引起扫描的分析错误,所以第二步就是去噪。

完成了上面两步,就进入至关重要的二值化流程。因为上面已经说过,计算机采用二进制,而将深灰和浅灰的图案转换成只有黑或白两种颜色,就是二值化处理的任务,在二值化处理时,二维码将会首先被解读成白色黑色的条码。我们知道,在用手机摄像头采集图像时,由于拍摄条件不同,环境光源的干扰较多,采集的图像经过灰度化后光线往往是不均衡的,所以二值化需要用到很多特定的二值化解析公式和阈值运算,也许再深入讲解公式可能一般人不能理解,但是我们要知道,二值化是一个非常复杂而且需要相当准确的步骤。

结束了上面的三步,接下来就是寻找探测图形。什么是探测图形呢?

经常看二维码的朋友都知道,二维码上有三个方块,这三个方块有什么作用?代表了怎样的含义呢?其实它的准确叫法就是位置探测图形。有了这三个点,不管是从哪个方向读取二维码,信息都可以被识别。即使将二维码图形旋转,也可以识别。

每个位置探测图形可以看作是由3 个重叠的同心的正方形组成,它 们分别为7*7个深色模块、5*5个浅模块和3*3个深色模块。位置探测图形的模块宽度比为1:1:3:1:1。这种1:1:3:1:1的宽度比例特征在图像的其他位置出现的可能性很小,因此被作为位置探测图形的扫描特征。正是基于此特征,当一条直线上(也就是扫描时看到的那条红线)被黑白相间地截为1:1:3:1:1时,可以认为该直线穿过了位置探测图形。另外,该扫描特征不受图像倾斜的影响,无论QR 码符号是否倾斜,都符合1:1:3:1:1 的扫描特征。

此外,二维码上还有一些图形混杂在几何图形中,是肉眼看不出来的,比如定位图形和分隔符。定位图形就是图中连接三个位置探测图形之间的两根“线”,它的作用是决定二维码符号中模块的坐标,而分隔符的作用是将位置探测图形与符号的其余部分分开。也就是说,通过扫描能读取的数据信息在二维码中的位置是由定位图形和分隔符决定的。所以二维码上都有三个小方块,它的作用主要是方便识别和决定二维码符号中模块的坐标(见图1)。

完成了上面灰度化、去噪、二值化和探测图形等四步,一个正常的二维码定位识别流程就结束了,不过使用手机扫描二维码时, 因为手机摄像头拍摄时物距较短,或者二维码印刷在不平坦的杂志平面上时,存在较明显的透视现象或畸变,所以拍出来的条码图像常常出现几何失真。QR二维码图像本应是一个正方形,拍摄的图像却畸变成一个不规则的四边形。出现几何失真的QR 码图像,很难通过解码算法译出编码信息,必须进行校正。对失真图形进行校正,往往是利用二维图像的投影变换来计算获得。首先,对手机拍摄的图像进行几何变换,求出条码的4 条边界线。由边界线求出A、B、C、 D 四个交点,然后将A、B、C、D 四个顶点坐标以及对应的校正图中的 A'、B'、C'、D' 分别代入固定的方程,解出矩阵中的8个未知数。对拍摄图中的各像素,通过计算得到校正值的坐标,再利用双线性插值方法进行插值,直至得到旋转到水平方向的校正图。而这些校正步骤则被称为:畸变校正。此外,手机拍摄二位码图像时,可能会同时采集到条码周围其他的图像。这些干扰图像会增加图像处理的复杂度,因此,可以把这些没必要的干扰图像通过裁切的方式去除。而切除这些干扰图像往往是在畸变校正进行,并不是先切除后校正,这也是为了保证校正的正确率。

当得到了一个可识别的二维码后,接来的工作就是译码和纠错。译码就是对二维码中所包含的格式信息、版本信息、数据和纠错码信息进行解码和比对,而纠错是在译码的同时进行的。其实,一个二维码除了上面讲到的探测图形外,还有各种译码信息被集成在二维码中,通过下来的示意图,我们就可以对一个二维码所含的信息元素有大概的了解。图2

完成了译码,手机上从二维码的识别到解码的工作就完成了,剩下的工作就是联网传输数据,从而获得二维码的相关内容。也许你不曾想到,看似操作简单的二维码识别,没想到背后会涉及到这么多的步骤和公式计算,而这仅仅还是针对普通的二维码,如果是一个加密的二维码,其背后的工作可想而知。

航海日记破解版

彩票888app下载

买彩票的app哪个正规