微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

立功科技嵌入式平台“软”实力——二维码算法篇

2019-12-04 15:36 来源:ZLG立功科技·致远电子 编辑:电源网

二维码不仅给人们生活带来便捷,在工业领域也被广泛应用。如何在嵌入式硬件中开发二维码功能?本文将为大家介绍ZLG二维码识别算法,教大家在ZLG硬件平台中快速搭建具备良好识别效果的二维码。

二维码的本质就是根据某种约定的编码方式,将一段文本信息转换为一个能够被解码识别的图片。因为二维码只是一种编码方式,是一种信息的载体,可见二维码用途的关键不在于二维码,而在于如何定义这段文本信息,约定好文本信息的用途。当前,二维码支付功能已经改变了我们的生活方式,出行不再需要带上现金,就能够通过二维码乘公交、搭地铁、打出租车、付停车费和超市购物付款等等。由于QR码具有信息容量大、可靠性高和保密防伪性强等特点,常见的二维码支付均采用QR码。

接下来将对ZLG二维码算法进行介绍,分别阐述ZLG二维码算法特点、接口调用方法、可实现平台与性能及效果展示。

一、二维码算法特点

由于二维码支付相关领域的迅速发展,ZLG针对性的进行了二维码识别算法的研发和优化,目前ZLG二维码算法库仅提供QR码接口的调用。QR码识别算法特点如下:

02

以算法库的形式提供,支持多平台移植,可在现有硬件上使用,大大节省成本;

算法调用简单,方便开发人员快速实现QR码识别功能;

同时支持手机屏幕条码和纸质条码,适用范围广;

识别速度快,针对手机支付场景的优化,可实现闪付;

支持手机碎屏QR码识别,贴合实际使用的场景。 

二、二维码接口调用

ZLG二维码算法库目前提供文件列表为: aw_qrcode.h、 libqr.a或libqr.so。算法调用方式简单,仅需要算法初始化、解码和内存释放三个步骤,QR码算法头文件“aw_qrcode.h”接口如下:

我们以基于AWorks系统的M7系列平台为例,成功调用ZLG二维码算法之前,需要准备的工作如下:

保证能够获取到摄像头的视频帧数据(不同平台可以有不同的实现方式,linux系统可以通过opencv获取图像帧数据),并且转为单通道的灰度图。例如,基于AWorks系统的M7平台demo使用如下接口获取RGB565格式的图像。

02

由于获取到的图像为RGB565格式,需要转换为单通道灰度图,接口如下:

02

至此,准备工作已经完成,算法所需要的灰度图数据已经得到。接下来进行算法调用,二维码识别接口调用存在三个步骤。

首先,使用算法初始化接口实现内存的初始化操作:

02

接着,即可通过QR码解码接口实现二维码图像解码操作,指针 imgData指向的地址即为灰度图像存放的地址。

02

最后,释放初始化过程中分配的内存:

02

基于AWorks系统的M7平台调用二维码算法伪代码如下:

02

三、ZLG算法合作模式及平台支持

ZLG二维码算法可以以SDK包的形式免费开放给各位工程师,只需使用ZLG嵌入式核心板(硬件平台)即可快速开发出具备商用性能的二维码识别应用。算法原则上可以支持基于AWorks和Linux系统的所有硬件平台。目前,主要测试了基于AWorks系统的M7系列平台,及基于Linux系统的A7和A8系列平台的相关性能,并通过提供静态库或动态库的方式供使用。

各平台算法性能如下表:

02

四、效果展示

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

02

AWorks系统M7平台二维码算法demo.mp4

视频中分别展示了基于AWorks系统的cortex-m7硬件平台、普通连续扫码情形下的纸质和屏幕码识别、自动感应(通过感应到扫码操作来触发算法,屏幕亮暗用来模拟补光灯亮灭)扫码情形下的纸质和屏幕码识别,以及碎屏情况下的屏幕码识别。

M1052-M16F128AWI-T产品图片:

02

五、关于算法库获取

关于算法库的获取可以咨询ZLG立功科技与ZLG致远电子相关市场人员。

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

微信关注
技术专题 更多>>
2024慕尼黑上海电子展精彩回顾
2024.06技术专题

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006