摘要:二維碼不僅給人們生活帶來便捷,,在工業(yè)領(lǐng)域也被廣泛應(yīng)用。如何在嵌入式硬件中開發(fā)二維碼功能,?本文將為大家介紹ZLG二維碼識別算法,,教大家在ZLG硬件平臺中快速搭建具備良好識別效果的二維碼,。
二維碼的本質(zhì)就是根據(jù)某種約定的編碼方式,將一段文本信息轉(zhuǎn)換為一個能夠被解碼識別的圖片,。因?yàn)槎S碼只是一種編碼方式,,是一種信息的載體,可見二維碼用途的關(guān)鍵不在于二維碼,,而在于如何定義這段文本信息,,約定好文本信息的用途,。當(dāng)前,,二維碼支付功能已經(jīng)改變了我們的生活方式,出行不再需要帶上現(xiàn)金,,就能夠通過二維碼乘公交,、搭地鐵、打出租車,、付停車費(fèi)和超市購物付款等等,。由于QR碼具有信息容量大、可靠性高和保密防偽性強(qiáng)等特點(diǎn),,常見的二維碼支付均采用QR碼,。
接下來將對ZLG二維碼算法進(jìn)行介紹,分別闡述ZLG二維碼算法特點(diǎn),、接口調(diào)用方法,、可實(shí)現(xiàn)平臺與性能及效果展示,。
一、二維碼算法特點(diǎn)
由于二維碼支付相關(guān)領(lǐng)域的迅速發(fā)展,,ZLG針對性的進(jìn)行了二維碼識別算法的研發(fā)和優(yōu)化,,目前ZLG二維碼算法庫僅提供QR碼接口的調(diào)用。QR碼識別算法特點(diǎn)如下:
以算法庫的形式提供,,支持多平臺移植,,可在現(xiàn)有硬件上使用,大大節(jié)省成本,;
算法調(diào)用簡單,,方便開發(fā)人員快速實(shí)現(xiàn)QR碼識別功能;
同時支持手機(jī)屏幕條碼和紙質(zhì)條碼,,適用范圍廣,;
識別速度快,針對手機(jī)支付場景的優(yōu)化,,可實(shí)現(xiàn)閃付,;
支持手機(jī)碎屏QR碼識別,貼合實(shí)際使用的場景,。
二,、二維碼接口調(diào)用
ZLG二維碼算法庫目前提供文件列表為:aw_qrcode.h、 libqr.a或libqr.so,。算法調(diào)用方式簡單,,僅需要算法初始化、解碼和內(nèi)存釋放三個步驟,,QR碼算法頭文件“aw_qrcode.h”接口如下:
我們以基于AWorks系統(tǒng)的M7系列平臺為例,,成功調(diào)用ZLG二維碼算法之前,需要準(zhǔn)備的工作如下:
保證能夠獲取到攝像頭的視頻幀數(shù)據(jù)(不同平臺可以有不同的實(shí)現(xiàn)方式,,linux系統(tǒng)可以通過opencv獲取圖像幀數(shù)據(jù)),,并且轉(zhuǎn)為單通道的灰度圖。例如,,基于AWorks系統(tǒng)的M7平臺demo使用如下接口獲取RGB565格式的圖像,。
由于獲取到的圖像為RGB565格式,需要轉(zhuǎn)換為單通道灰度圖,,接口如下:
至此,,準(zhǔn)備工作已經(jīng)完成,算法所需要的灰度圖數(shù)據(jù)已經(jīng)得到,。接下來進(jìn)行算法調(diào)用,,二維碼識別接口調(diào)用存在三個步驟。
首先,使用算法初始化接口實(shí)現(xiàn)內(nèi)存的初始化操作:
接著,,即可通過QR碼解碼接口實(shí)現(xiàn)二維碼圖像解碼操作,,指針 imgData指向的地址即為灰度圖像存放的地址。
最后,,釋放初始化過程中分配的內(nèi)存:
基于AWorks系統(tǒng)的M7平臺調(diào)用二維碼算法偽代碼如下:
三,、ZLG算法合作模式及平臺支持
ZLG二維碼算法可以以SDK包的形式免費(fèi)開放給各位工程師,只需使用ZLG嵌入式核心板(硬件平臺)即可快速開發(fā)出具備商用性能的二維碼識別應(yīng)用,。算法原則上可以支持基于AWorks和Linux系統(tǒng)的所有硬件平臺,。目前,主要測試了基于AWorks系統(tǒng)的M7系列平臺,,及基于Linux系統(tǒng)的A7和A8系列平臺的相關(guān)性能,,并通過提供靜態(tài)庫或動態(tài)庫的方式供使用。
各平臺算法性能如下表:
四,、效果展示
基于cortex-m7系列M1052-M16F128AWI -T平臺的二維碼識別demo配有4.3寸液晶顯示屏,, 以類似于手機(jī)掃碼的體驗(yàn),快速識別QR碼,,顯示識別的結(jié)果,。效果如下所示:
AWorks系統(tǒng)M7平臺二維碼算法demo.mp4
視頻中分別展示了基于AWorks系統(tǒng)的cortex-m7硬件平臺、普通連續(xù)掃碼情形下的紙質(zhì)和屏幕碼識別,、自動感應(yīng)(通過感應(yīng)到掃碼操作來觸發(fā)算法,,屏幕亮暗用來模擬補(bǔ)光燈亮滅)掃碼情形下的紙質(zhì)和屏幕碼識別,以及碎屏情況下的屏幕碼識別,。
M1052-M16F128AWI-T產(chǎn)品圖片:
五,、關(guān)于算法庫獲取
關(guān)于算法庫的獲取可以咨詢ZLG立功科技與ZLG致遠(yuǎn)電子相關(guān)市場人員。