91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RZ/A2M DRP實(shí)現(xiàn)二維碼編碼格式的快速檢測

星星科技指導(dǎo)員 ? 來源:瑞薩電子 ? 作者:h1654155168.4858 ? 2022-04-29 15:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在上一篇文章中我們介紹了如何使用RZ/A2M和它獨(dú)有的DRP技術(shù)實(shí)現(xiàn)工業(yè)自動(dòng)化中的目標(biāo)物體檢測與追蹤?,F(xiàn)在讓我們看一下RZ/A2M的DRP如何實(shí)現(xiàn)在8ms時(shí)間內(nèi)檢測5中不同編碼格式的二維碼。

二維碼又稱二維條碼,常見的二維碼為QR Code,QR全稱Quick Response,是一個(gè)近幾年來移動(dòng)設(shè)備上非常流行的一種編碼方式,它比傳統(tǒng)的Bar Code條形碼能存更多的信息,也能表示更多的數(shù)據(jù)類型。除了這種常見的QR Code之外,還有一些其它編碼格式的二維碼,例如Micro QR Code, DataMatrix, AZTec和漢信碼等等,因此要求掃碼槍能夠識別多種不同編碼的二維碼。 常規(guī)的操作是循環(huán)調(diào)用不同解碼器,逐一用不同的解碼器進(jìn)行檢測和解碼,但導(dǎo)致的問題是解碼時(shí)間不穩(wěn)定性與解碼時(shí)間偏長,如果能夠在解碼之前快速識別出二維碼的編碼格式,然后有針對性的調(diào)用對應(yīng)的解碼器,則會大大提高解碼效率。

瑞薩的RZ/A2M微處理器可以利用其獨(dú)特的動(dòng)態(tài)可配置處理器(DRP)完美解決這一問題,實(shí)現(xiàn)了1280x720(1百萬)攝像頭輸入時(shí),在8ms時(shí)間內(nèi)完成QR ,Micro QR, DataMatrix, AZTec 和漢信碼5種編碼格式的快速識別,下面讓我們看一下DRP是如何實(shí)現(xiàn)的。

以下是示例中用到的5種二維碼的圖例,我們將利用DRP的圖像處理加速功能識別每種編碼格式的特征

pYYBAGJrkQCAAWawAACMsGJFYzg202.png

我們將通過9個(gè)步驟的數(shù)據(jù)處理,逐步從MIPI接口輸入的圖像數(shù)據(jù)中提取出我們希望得到的特征標(biāo)識。

在這9個(gè)數(shù)據(jù)處理環(huán)節(jié)中,大部分由DRP硬件加速模塊處理(藍(lán)色),少量過程由CPU進(jìn)行處理(綠色),在此期間我們可以看到硬件DRP處理和軟件CPU處理之間的靈活搭配與無縫對接。

poYBAGJrkQCAS5DwAACet7EeZR0508.png

步驟1

為了加快圖像的處理速度,我們會先載入一個(gè)Bayer2GrayThinning的DRP加速庫將圖像的分辨率降采樣為原始大小的1/4,同時(shí)完成圖像格式從Bayer到灰度圖的轉(zhuǎn)換并統(tǒng)計(jì)每幀圖像的亮度值,我們會將這個(gè)亮度的統(tǒng)計(jì)結(jié)果反饋給CMOS傳感器用于調(diào)整自動(dòng)曝光參數(shù)。

pYYBAGJrkQCAT6GmAAAmZMfpQ0Y009.png

由于Bayer2GrayThinning庫只占用1個(gè)Tile的DRP硬件資源,在此步驟中利用DRP的多Tile并行處理特性將每一幀1280x768的圖像分成6個(gè)1280x128的區(qū)域,由6個(gè)DRP處理單元進(jìn)行并行化處理,這樣處理速度可增加為原來的6倍,而且每個(gè)處理單元內(nèi)部的像素級處理也是并行化的。

poYBAGJrkQCAR3ajAABZOyFuqWs995.png

利用DRP的這兩個(gè)并行化特性,我們可以在0.6ms的時(shí)間內(nèi)完成1幀1280x768分辨率圖像的處理,包含0.2ms的DRP庫載入時(shí)間和0.4ms的圖像數(shù)據(jù)處理時(shí)間。經(jīng)過步驟1的處理我們得到一個(gè)320x192的灰度圖。

步驟2

得到灰度圖后我們加載一個(gè)binarization_adaptive的DRP庫,將圖像轉(zhuǎn)換為只有0x00和0xFF兩種顏色的黑白圖像。這個(gè)DRP庫可以根據(jù)每個(gè)8x8像素區(qū)域的灰度值平均值動(dòng)態(tài)計(jì)算二值化的閾值,這樣可以有效解決不同亮度的場景中二值化閾值該如何選擇的問題。

pYYBAGJrkQCAIVMMAAB2RzTH6kE553.png

我們可以設(shè)置二值化轉(zhuǎn)換的參數(shù),控制輸出圖像以反轉(zhuǎn)方式輸出,即二維碼圖像中黑色部分輸出為白色,這樣方便下一步對白色部分提取輪廓信息。步驟2的總處理時(shí)間是0.9ms左右,包含0.6ms的DRP庫載入時(shí)間和0.3ms的圖像數(shù)據(jù)處理時(shí)間。

poYBAGJrkQGAZ2VlAAGJx8uX8Xs183.png

步驟3

得到二值化圖像后我們再載入一個(gè)Dialte的DRP庫實(shí)現(xiàn)膨脹功能,其基本實(shí)現(xiàn)原理如下;

pYYBAGJrkQGAE58FAAAXrOy-ZWQ537.png

用3x3區(qū)塊以步長為1像素掃描輸入圖像

掃描窗口中心點(diǎn)的新數(shù)據(jù)輸出值為3x3范圍內(nèi)的最大值

實(shí)現(xiàn)效果:將白色擴(kuò)展,吞并被包圍的黑色區(qū)域

? 可配置迭代次數(shù),次數(shù)越多,白色擴(kuò)展范圍越大

經(jīng)過膨脹處理后的圖像中,包含二維碼數(shù)據(jù)的區(qū)域基本被聯(lián)通,形成一個(gè)包含整個(gè)二維碼的大區(qū)域。總處理時(shí)間是0.4ms左右,包含0.2ms的DRP庫載入時(shí)間和0.2ms的圖像數(shù)據(jù)處理時(shí)間。

poYBAGJrkQGAUahpAAGmk0GIGyk594.png

步驟4

此時(shí)我們對膨脹之后的圖像調(diào)用openCV的FindContour方法,它將得到這一幀圖像中所有高亮部分的外輪廓以及每個(gè)輪廓的最小外接矩形。我們會逐一判斷輪廓的寬高比,面積,位置等信息,篩選出最有可能包含二維碼的輪廓。如果條件不匹配則采集下一幀圖像。此步驟由CPU實(shí)現(xiàn),時(shí)間約為4ms。

pYYBAGJrkQGAFZuQAACApnwCbyQ448.png

圖中帶有旋轉(zhuǎn)角度的矩形為二維碼區(qū)域的輪廓,后面我們會將這個(gè)旋轉(zhuǎn)的矩形調(diào)整為傾角為0度的圖形,用于更精細(xì)的特征檢測。而最小外接矩形的四個(gè)頂點(diǎn)坐標(biāo)將被換算成原始輸入圖像的坐標(biāo),用于從原始圖像中裁剪包含二維碼的區(qū)域。

poYBAGJrkQKAc0vaAAFVasfIbyk758.png

步驟5

為了保證二維碼標(biāo)識特征提取的精度,我們會從MIPI輸入buffer中裁剪Bayer格式的原始二維碼圖像。此時(shí)我們載入一個(gè)bayer2gray_cropping的DRP庫從MIPI buffer進(jìn)行圖像裁剪,裁剪的位置就是步驟4中最小外接矩形4個(gè)頂點(diǎn)在MIPI buffer中對應(yīng)的坐標(biāo)。

這個(gè)bayer2gray_cropping只占用1個(gè)Tile的硬件資源,它具備6個(gè)tile并行運(yùn)行的能力,因此我們會用6個(gè)Tile的DRP并行處理。

此步驟的執(zhí)行時(shí)間約為0.6ms,DRP的載入時(shí)間為0.25ms,執(zhí)行時(shí)間約為0.35ms

pYYBAGJrkQKAd70NAAFFusP9QV4977.png

步驟6

下圖左側(cè)為裁剪出的帶有旋轉(zhuǎn)角度的灰度圖,其中4個(gè)綠色頂點(diǎn)可以從步驟4的輪廓信息得到。在此步驟中我們由CPU實(shí)現(xiàn)一個(gè)簡易的Keystone和縮放功能,將4個(gè)綠色頂點(diǎn)中的有效圖像映射到右側(cè)的buffer中,這里的梯形校正只是簡單抽取或重復(fù)原有像素點(diǎn),不生成新的點(diǎn),因此屬于有損但快速的算法。更精確的算法可用使用DRP的仿射變換(affine)功能,但會消耗更多的時(shí)間。

poYBAGJrkQKABepkAAM3xKUJ7hI342.png

步驟7

得到一個(gè)無旋轉(zhuǎn)的圖像后,我們重復(fù)步驟2中的binarization_adaptive處理,得到一個(gè)無旋轉(zhuǎn)角度的二值化圖像。這一步耗時(shí)約0.5ms

pYYBAGJrkQKAGpgBAADQHpIV1yA018.png

步驟8

此時(shí)載入FindContour DRP庫,檢測二值化后的二維碼圖像中所有高麗部分的輪廓,檢測結(jié)果為圖像中藍(lán)色的矩形區(qū)域。

poYBAGJrkQOAHax9AAHNRflCzsI605.png

FindContour DRP庫會輸出每個(gè)輪廓的位置,大小信息。所有的輪廓信息將被保存起來用于下一步的二維碼標(biāo)識檢測。此過程總耗時(shí)約1.4ms,包含0.4ms的DRP庫載入時(shí)間及1.0ms的處理時(shí)間。

pYYBAGJrkQOAO2vIAABwRPt3lCo195.png

步驟9

此時(shí)我們已經(jīng)得到二維碼圖像中所有輪廓的坐標(biāo)信息,我們可以很容易的通過輪廓相對于二維碼的對應(yīng)位置,是否是正方形輪廓,是否包含對稱的子輪廓,是否包含偏心的子輪廓等信息來判斷出QR code, Micro QR code, 漢信碼,Aztec code。

對于DataMatrix的檢測,我們可以利用DRP運(yùn)行時(shí)不消耗CPU負(fù)載的特性,在步驟8的DRP處理過程中(1ms的DRP執(zhí)行期間)同時(shí)由CPU計(jì)算圖像每行和每列的求和統(tǒng)計(jì),這樣可以讓DRP和CPU的處理也并行起來。

讓我們回顧以下以上9個(gè)步驟的處理:

poYBAGJrkQOAPephAAJBIBlxJio895.png

我們可以在8ms的時(shí)間內(nèi)完成5種不同編碼的二維碼類型的檢測主要得益于:

加載具有并行化處理能力的DRP庫

同時(shí)加載多個(gè)DRP庫對一幀圖像的多個(gè)區(qū)域同時(shí)進(jìn)行處理

DRP處理期間,并行運(yùn)行CPU運(yùn)算

硬件DRP加速處理與openCV軟件處理無縫對接

此時(shí)如果將裁剪出來的二維碼圖像交給后續(xù)對應(yīng)的解碼器進(jìn)行解碼,將極大的縮短多類型二維碼解碼的處理時(shí)間。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    20255

    瀏覽量

    252329
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    225017
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2431

    瀏覽量

    85854
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    有哪些常見的二維碼模組類型?

    二維碼模組是集成了掃描引擎、解碼芯片、光學(xué)組件的核心模塊(也叫二維碼模塊),可直接嵌入自助終端、工業(yè)PDA、智能閘機(jī)等設(shè)備,實(shí)現(xiàn)二維碼快速
    的頭像 發(fā)表于 01-24 00:00 ?774次閱讀
    有哪些常見的<b class='flag-5'>二維碼</b>模組類型?

    二維影像掃描引擎在門禁二維碼刷卡梯控行業(yè)中的應(yīng)用

    在當(dāng)今科技日新月異的時(shí)代,二維影像掃描引擎以其卓越的識別性能和廣泛的應(yīng)用領(lǐng)域,成為了門禁系統(tǒng)中不可或缺的重要組成部分,尤其在二維碼刷卡梯控行業(yè)中展現(xiàn)出了非凡的價(jià)值。本文將深入探討二維影像掃描引擎在
    的頭像 發(fā)表于 12-17 15:42 ?349次閱讀
    <b class='flag-5'>二維</b>影像掃描引擎在門禁<b class='flag-5'>二維碼</b>刷卡梯控行業(yè)中的應(yīng)用

    二維碼模塊是什么?它和普通條碼識別設(shè)備有什么不同

    在物聯(lián)網(wǎng)技術(shù)飛速發(fā)展的今天,條碼與二維碼已成為信息傳遞的重要載體,從超市結(jié)賬到工業(yè)生產(chǎn)溯源,從移動(dòng)支付到醫(yī)療耗材管理,相關(guān)識別設(shè)備無處不在。其中,二維碼模塊作為核心識別部件,正憑借其靈活適配性
    的頭像 發(fā)表于 11-06 15:54 ?510次閱讀
    <b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊是什么?它和普通條碼識別設(shè)備有什么不同

    哪款二維碼模組適合嵌入戶外取餐柜,用于掃二維碼

    在智能取餐柜普及的當(dāng)下,二維碼模組作為核心交互組件,其性能直接影響用戶體驗(yàn)與設(shè)備穩(wěn)定性。針對戶外場景的特殊需求,深圳遠(yuǎn)景達(dá)物聯(lián)網(wǎng)推出的LV4300Pro系列二維碼模組,憑借工業(yè)級設(shè)計(jì)與場景化技術(shù)優(yōu)化
    的頭像 發(fā)表于 09-10 15:00 ?621次閱讀
    哪款<b class='flag-5'>二維碼</b>模組適合嵌入戶外取餐柜,用于掃<b class='flag-5'>二維碼</b>

    【嘉楠堪智K230開發(fā)板試用體驗(yàn)】+二維碼識別

    通過K230開發(fā)板快速實(shí)現(xiàn)二維碼識別。 實(shí)現(xiàn) import time, os, gc from media.sensor import Sensor from media.displa
    發(fā)表于 08-22 20:16

    掃描條碼模塊、二維碼模塊,廣泛應(yīng)用于定制的手持設(shè)備

    模塊為核心,憑借出色的一、二維碼識別、解碼及傳輸能力,結(jié)合安卓系統(tǒng)的實(shí)時(shí)通訊優(yōu)勢,讓條碼掃描在更多領(lǐng)域實(shí)現(xiàn)了高效落地。掃描條碼模塊(也稱條碼識別模塊、條碼掃描模
    的頭像 發(fā)表于 08-18 15:18 ?640次閱讀
    掃描條碼模塊、<b class='flag-5'>二維碼</b>模塊,廣泛應(yīng)用于定制的手持設(shè)備

    二維碼掃描讀器在工廠流水線的應(yīng)用

    在制造業(yè)自動(dòng)化升級的浪潮中,二維碼掃描讀器憑借其信息密度高、抗污損能力強(qiáng)的特性,逐漸成為工廠流水線數(shù)據(jù)采集的核心設(shè)備。它通過精準(zhǔn)識別產(chǎn)品表面的二維碼,實(shí)現(xiàn)生產(chǎn)全流程的數(shù)字化追蹤,為智
    的頭像 發(fā)表于 08-07 14:48 ?857次閱讀
    <b class='flag-5'>二維碼</b>掃描讀<b class='flag-5'>碼</b>器在工廠流水線的應(yīng)用

    二維碼條碼識讀器的主要功能有哪些

    在信息化快速發(fā)展的當(dāng)下,一二維碼條碼識讀器已成為各行各業(yè)高效處理信息的重要工具。從超市收銀到物流追蹤,它憑借快速準(zhǔn)確的信息識別能力,大幅提升了工作效率。那么,一
    的頭像 發(fā)表于 08-01 15:59 ?1047次閱讀
    一<b class='flag-5'>維</b><b class='flag-5'>二維碼</b>條碼識讀器的主要功能有哪些

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib,推薦下載!
    發(fā)表于 05-28 22:04

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib項(xiàng)目實(shí)例下載! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-23 20:45

    基于RK3576開發(fā)板的二維碼生成

    檔介紹了如何快速上手二維碼生成,包括源碼工程下載、開發(fā)環(huán)境搭建、例程編譯與運(yùn)行。通過EASY-EAI API,用戶可輕松生成二維碼圖片,API封裝了二維碼生成工具,提供了詳細(xì)的調(diào)用說明
    的頭像 發(fā)表于 05-10 15:19 ?1122次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>二維碼</b>生成

    基于RK3576開發(fā)板的二維碼識別算法

    快速上手指南,包括源碼管理、開發(fā)環(huán)境搭建、例程編譯與運(yùn)行等步驟,并詳細(xì)介紹了二維碼識別API的使用方法及調(diào)用示例。通過API函數(shù)qr_decode,用戶可以輕松實(shí)現(xiàn)二維碼的識別與處理
    的頭像 發(fā)表于 05-10 09:25 ?975次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>二維碼</b>識別算法

    基于RV1126開發(fā)板實(shí)現(xiàn)二維碼識別方案

    在RV1126上實(shí)現(xiàn)二維碼識別方案
    的頭像 發(fā)表于 04-11 14:48 ?765次閱讀
    基于RV1126開發(fā)板<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>二維碼</b>識別方案

    二維碼讀取器是干嘛的

    二維碼讀取器(用于二維碼讀取的機(jī)器),作為一種現(xiàn)代化的自動(dòng)識別技術(shù)設(shè)備,正日益滲透到我們生活的方方面面。從商場購物到物流配送,從醫(yī)療管理到工業(yè)生產(chǎn)線,二維碼讀取器憑借其高效、準(zhǔn)確的讀取能力,發(fā)揮
    的頭像 發(fā)表于 03-17 15:57 ?1335次閱讀
    <b class='flag-5'>二維碼</b>讀取器是干嘛的

    一“”當(dāng)先!看二維碼模組如何重塑智能門鎖掃體驗(yàn)

    在科技日新月異的今天,智能門鎖正逐步取代傳統(tǒng)機(jī)械鎖,成為現(xiàn)代家庭安全防護(hù)的首選。在這場門鎖智能化革命中,二維碼模組以其獨(dú)特的識別技術(shù)和便捷的操作方式,成為智能門鎖的重要組成部分。本文將深入探討二維碼
    的頭像 發(fā)表于 03-12 16:17 ?1059次閱讀
    一“<b class='flag-5'>碼</b>”當(dāng)先!看<b class='flag-5'>二維碼</b>模組如何重塑智能門鎖掃<b class='flag-5'>碼</b>體驗(yàn)