历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2019年09月04日 | 二维码识别技术深入解析

发布者:心灵律动 来源: ZLG立功科技·致远电子关键字:二维码 手机看文章 扫描二维码
随时随地手机看文章

摘要:移动互联网迅速发展,二维码应用已经渗透到生活的各个角落,二维码的魅力在哪?本文将从二维码识别技术的原理和识别过程出发,结合ZLG二维码识别算法,解析二维码被广泛应用的原因。


基于二维码识别相关的应用迅速进入人们的生活,扫二维码已成为连接线上线下成本最低的网络接入口之一。二维码识别技术原理是什么,又因何种优势能够改变我们的生活方式?本文将以二维码使用最广的QR码(Quick Response Code)为例,从QR码的优势、识别过程、算法、和应用方向等方面阐述二维码得以广泛使用的原因。


目前,二维码在中国的最大应用领域就是移动支付。不少人已经习惯了出门不带现金,手机扫码走天下。根据第40次《中国互联网络发展状况统计报告》显示,截至2017年6月,我国手机网民规模达7.24亿,移动支付用户规模达5.02亿,4.63亿网民在线下消费时使用手机进行支付,而这其中很多都是通过扫二维码实现的。


image.png 

资料来源:CNNIC 前瞻产业研究院整理


接下来将对二维码识别技术及应用进行介绍,为了便于整体理解,首先阐述QR码的特点及优势,接着介绍QR码识别过程,并重点介绍图像预处理算法。然后讲述当前二维码识别技术的应用领域,最后演示ZLG QR码识别demo。


1. QR码的特点及优势

QR码是由日本Denso公司于1994年9月研制的一种矩阵式二维条码,它除了具有二维条码所具有的信息容量大、可靠性高、可表示汉字及图像多种信息、保密防伪性强等特点外,还具有能高速全方位识读、能有效表达汉字等主要特点。


2. QR码的识别过程

QR符合由编码区域和包括寻像图形、分隔符、定位图形和校正图形在内的功能图形组成。QR码结构图如下所示。


image.png 

QR码结构图


QR码识别常见的方法过程主要有图像预处理,定位位置探测图形、定位校正图形、透视变换、译码和纠错。


图像预处理:灰度化、去噪、畸变矫正以及二值化等;


定位位置探测图形:通过位置探测图形1:1:3:1:1的特征查找,允许容差0.5,水平和垂直方向扫描该特征,多次穿透即为候选位置探测图像,通过一些筛选策略剔除假位置探测图形确定真图形,再根据3个该图形之间的距离和旋转角度,确定它们的方位,分别为左上角,右上角和左下角。


image.png 

位置探测图形特征


定位校正图形:根据3个位置探测图像估计右下角校正符,类似定位位置探测图形定位该图形。


透视变换:根据3个定位中心点和校正符中心点,和理想4个点的坐标,获取单应性矩阵,再通过透视变换获取标准正方形图像。透视变换公式如下:


image.png

 

透视变换效果图如下:


image.png

 

译码和纠错:译码是对二维码版本信息、格式信息、数据和纠错码进行解码和对比。将数据区转为0和1的比特流,并用 Reed-Solomon 纠错算法对比特流校验和纠错。判断QR码编码格式后译码,这样我们便得到了二维码包含的数据。


3. QR码图像预处理

常规的QR码识别过程容易受到环境影响而难以识别,往往需要一些预处理改善图像质量和识别环境。


图像灰度化:摄像头输出的数据格式很多,黑白摄像头直接输出灰度图,而彩色摄像头输出格式有YUV422,YUV410,RGB565, RGB888等,二维码识别只需要单通道的灰度图,

因此需要转化,以RGB888为例,转换公式如下:

去噪:噪声的影响会使1:1:3:1:1的特征定位不准,以及数据阶段译码错误,常见的噪声主要是高斯噪声和椒盐噪声,可以采用高斯滤波,中值滤波或均值滤波来改善图像质量。


畸变矫正:广角摄像头或鱼眼摄像头带有较大的畸变,越靠近视角边缘图像形变越大,对于畸变较大的图像而言,不仅1:1:3:1:1的特征的比例关系失调,数据区的数据没有标准的模块大小,会造成无法准确译码。对于这种情况,需通过畸变模型矫正,矫正成无畸变的图像。


二值化:正常情况下背景和QR码目标区分明显,光照均匀,只需要简单使用全局二值化方法即可,常见的方法有固定阈值法、Otsu法,直方图双峰阈值化方法等。对于光照不均匀的情况,则不适用,会造成全局亮度失衡而无法正常识码,因此需要自适应局部阈值化方法处理,可以采用分块求阈值再均衡化的方法实现。


4. QR码应用领域

QR码是用某种特定的几何图形,按一定规律来记录数据符号信息。主要用途如下表


image.png 

image.png

 

5. QR码识别效果展示

ZLG研发的QR码识别算法目前支持的平台有:基于AWorks系统的cortex-m7系列M1052-M16F128AWI -T平台、基于Linux的cortex-a7系列M6Y2C-256F256LI-T平台和基于Linux的cortex-a8系列M3354-512LI-F1GT平台。


基于cortex-a8系列M3354-512LI-F1GT平台的QR码识别功能如下视频所示:


image.png 

A8_快速扫描、A8_碎屏识别demo.mp4


    视频中主要展示了微信支付操作,可以看到剧烈晃动手机的情况下依旧能够识别。对于单次支付操作,观察串口打印的信息可以看出,基本实现了无需等待的“闪付”体验。并且,从视频中可以看到,针对于手机碎屏问题,ZLG的QR码算法可以较好的支持。


此外,考虑到个性化QR码使用场景,我司QR码识别算法同样支持,以微信二维码名片样式为例,效果如以下视频所示:


image.png

 

A8_多样式demo.mp4

基于cortex-m7系列M1052-M16F128AWI -T平台的二维码识别demo配有4.3寸液晶显示屏, 以类似于手机扫码的体验,快速识别二维码,显示识别的结果。效果如下所示:


image.png 

M7_快速扫描demo.mp4

ZLG QR码算法调用方式简单,仅需要算法初始化、解码和内存释放三个步骤,QR码算法头文件“aw_qrcode.h”接口如下


image.png

 

调用我司的QR码算法demo程序“QRScanner.c”如下所示


 image.png

 

 

最后附上M3354-512LI-F1GT产品图片:

image.png 

M1052-M16F128AWI-T产品图片:

image.png 

6. 关于算法库获取

关于算法库可以联系ZLG立功科技获取。

 


关键字:二维码 引用地址:二维码识别技术深入解析

上一篇:英特尔出席IFA 2019,展示最新移动计算技术
下一篇:高通谈手机厂商双Wi-Fi技术:我的功劳

推荐阅读

据外媒报道,随着汽车电气化转型、政府的政策出台及技术的发展,自动驾驶车辆的发展将如火如荼。在未来十年内,车用级片上系统(系统级芯片,SoC)需求将大幅提升。2017年,全球车用级片上系统市场的市值达到了120亿美元。据估计,全球片上系统市场的年复合增长率(CAGR)将达到7.7%,预计2028年该市场的市值将达到268亿美元。按应用分类,车载信息娱乐系...
一、单片机的典型结构0.(《单片机MCS—51原理及应用开发教程》晁阳。清华大学出版社)1、 单片机的内部结构中央处理器存储器内部总线I∕O接口 并行接口 穿行接口中断系统特殊功能部件 时钟电路 布尔处理器 定时器∕计数器 A∕D、D∕A转换器 直接存...
本文提出了一种基于ARM和FPGA的嵌入式数控系统设计方案。详细介绍了ARM系统的软硬件设计,基于FPGA的硬件精插补实现方法以及数控系统的加减速控制策略。该系统将ARM运行速度快、计算精度高的优点和FPGA内部逻辑的在线可重构性等特点相结合,提高了资源利用率和实时性,增强了数控系统的灵活性。仿真和实践结果表明,整个控制系统具有实时性好、低成本、高...
当打工人被繁杂的工作压垮,在日复一日的重复性工作后逐渐躺平;企业也在业务流程复杂性和员工生产力中困顿不堪,企业是时候思考如何实现业务流程端到端的自动化,以及组织和员工的协作关系。有远见的企业正在使用自动化与人工智能来增强核心优势,并与员工和客户建立智能高效的协作关系。 根据 IBM 商业价值研究院的一项研究显示,到 2022年,人工...

史海拾趣

问答坊 | AI 解惑

多层电路板设计---职业杀手

本人熟ARM项目开发4~8层板设计.下图我做的45x65mm S3C2440核心板. [ 本帖最后由 青叶漂零 于 2009-2-6 03:24 编辑 ]…

查看全部问答∨

mc55传输视频数据

大家好,我购买了一块西门子mc55开发板 现在我想利用这块开发板通过GPRS网络来传输视频数据 假设视频数据已经保存在本地硬盘上,发送方式我想选择UDP协议 请问怎么用AT 指令来实现这一功能? 还有一个测试问题,我应该怎么测试数据是否发送成功 ...…

查看全部问答∨

M_BLK_ID

M_BLK_ID在网络编程的部分经常用到,涉及到内存管理,跟一般的C语言编程发送数据不太一样,不是直接发字符串 如果我想发送一个“hello”,该如何填写M_BLK_ID这个结构呢? 以muxSend为例 muxSend(pCookie,pNBuff); 请高手不吝指教~~~~~!…

查看全部问答∨

疑问:信号量与优先级反转

信号量可以分三种:互斥信号量,二值信号量,计数信号量。 为什么有的书上讲,只有互斥信号量才会有优先级反转问题? 比如,现在有一个计数信号量S,数值为3,有三个低优先级的任务对其执行P(S)操作,此 时信号量的值为0.如果有一个高优先级的任 ...…

查看全部问答∨

神经模糊控制在SAW压力传感器温度补偿中的应用

声表面波(SAW)技术是一门新兴热门研究课题之一,国内外已有温度、压力、加速度等传感器的相关报道。SAW压力传感器借助于它无以伦比的性能,诸如:1)数字号输出;2)高灵敏度、高分辨力、抗干扰能力强;3)易于大规模集成。正是由于这些自身的优越性, ...…

查看全部问答∨

08.11【每周讨论】VCC VDD, VEE, VSS是什么意思

在电子电路中,常可以看到VCC、VDD和VSS三种不同的符号,它们有什么区别呢?   一、解释   VCC:C=circuit 表示电路的意思, 即接入电路的电压;   VDD:D=device 表示器件的意思, 即器件内部的工作电压;   VSS:S=ser ...…

查看全部问答∨

MSP430的时钟设置

__bis_SR_register(SCG0);   UCSCTL0 = DCO0+DCO1+DCO2+DCO3+DCO4;   UCSCTL1 = DCORSEL_4;                    //DCO频率范围在28.2MHZ以下   ...…

查看全部问答∨

帮忙看看这句什么意思。

帮忙看看这句什么意思。…

查看全部问答∨

HDL设计经验交流

1、不仅仅单纯的敲代码,注意代码描述的电路层次,在RTL级完成设计。 2、分析电路设计要求,寻求特点简化电路设计结构。 3、每个块语句对一个变量赋值,块语句个数对应变量个数。结构清晰,书写简便。 4、不要把所以得内容写到一个进程,尽可能 ...…

查看全部问答∨

出 j-link , u-link, 无线路由器, STM32 开发板 ,wifi模块 以及其他杂物

本帖最后由 ddllxxrr 于 2016-1-7 16:31 编辑 1. J-LINK 35元出2. u-LINK 全新 70元出 3. 无线路由器,86面板,就是像墙上的插座的那个 80元出,带POE转换器 4. 射频卡读写模块 30元 5. 430的书 5元出 6. cortex M4开发板 70元出,基本全新 ...…

查看全部问答∨
小广播
最新手机便携文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved