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

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

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

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

星星科技指導員 ? 來源:瑞薩電子 ? 作者:h1654155168.4858 ? 2022-04-29 15:17 ? 次閱讀

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

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

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

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

pYYBAGJrkQCAAWawAACMsGJFYzg202.png

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

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

poYBAGJrkQCAS5DwAACet7EeZR0508.png

步驟1

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

pYYBAGJrkQCAT6GmAAAmZMfpQ0Y009.png

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

poYBAGJrkQCAR3ajAABZOyFuqWs995.png

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

步驟2

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

pYYBAGJrkQCAIVMMAAB2RzTH6kE553.png

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

poYBAGJrkQGAZ2VlAAGJx8uX8Xs183.png

步驟3

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

pYYBAGJrkQGAE58FAAAXrOy-ZWQ537.png

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

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

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

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

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

poYBAGJrkQGAUahpAAGmk0GIGyk594.png

步驟4

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

pYYBAGJrkQGAFZuQAACApnwCbyQ448.png

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

poYBAGJrkQKAc0vaAAFVasfIbyk758.png

步驟5

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

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

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

pYYBAGJrkQKAd70NAAFFusP9QV4977.png

步驟6

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

poYBAGJrkQKABepkAAM3xKUJ7hI342.png

步驟7

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

pYYBAGJrkQKAGpgBAADQHpIV1yA018.png

步驟8

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

poYBAGJrkQOAHax9AAHNRflCzsI605.png

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

pYYBAGJrkQOAO2vIAABwRPt3lCo195.png

步驟9

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

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

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

poYBAGJrkQOAPephAAJBIBlxJio895.png

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

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

同時加載多個DRP庫對一幀圖像的多個區(qū)域同時進行處理

DRP處理期間,并行運行CPU運算

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

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

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    18948

    瀏覽量

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

    關(guān)注

    68

    文章

    10721

    瀏覽量

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

    關(guān)注

    11

    文章

    2221

    瀏覽量

    82005
收藏 人收藏

    評論

    相關(guān)推薦

    二維碼掃描頭設(shè)備嵌入到閘機上,實現(xiàn)掃手機屏幕完成簽到簽退

    如何嵌入到閘機上,實現(xiàn)掃手機屏幕完成簽到簽退的過程及其優(yōu)勢。一、二維碼掃描頭設(shè)備的嵌入技術(shù)二維碼掃描頭設(shè)備作為一種高效的信息采集工具,其核心技術(shù)在于
    的頭像 發(fā)表于 09-18 15:45 ?81次閱讀
    <b class='flag-5'>二維碼</b>掃描頭設(shè)備嵌入到閘機上,<b class='flag-5'>實現(xiàn)</b>掃手機屏幕<b class='flag-5'>碼</b>完成簽到簽退

    工業(yè)二維碼掃描設(shè)備如何助力流水線生產(chǎn)?

    工業(yè)二維碼掃描設(shè)備被廣泛應(yīng)用于現(xiàn)代工廠的流水線作業(yè)中,它們能夠高效、準確地讀取移動中的二維碼。這些掃器通常被設(shè)計為固定式或手持式,以適應(yīng)不同的生產(chǎn)環(huán)境和需求。固定式掃器安裝在特定位
    的頭像 發(fā)表于 08-12 14:56 ?143次閱讀
    工業(yè)<b class='flag-5'>二維碼</b>掃描設(shè)備如何助力流水線生產(chǎn)?

    如何為柜式終端設(shè)備選配(集成)二維碼模塊?

    隨著二維碼技術(shù)在各行各業(yè)的廣泛應(yīng)用,柜式終端設(shè)備如何高效集成二維碼模塊成為行業(yè)關(guān)注焦點。針對這一需求,本文將深入探討選擇與集成二維碼模塊的關(guān)鍵要素,助力企業(yè)精準匹配,提升終端設(shè)備性能。在柜式終端設(shè)備
    的頭像 發(fā)表于 08-05 15:48 ?121次閱讀
    如何為柜式終端設(shè)備選配(集成)<b class='flag-5'>二維碼</b>模塊?

    Labview生成二維碼

    ?Labview 的一個Demo,生成二維碼。
    發(fā)表于 08-01 17:12 ?4次下載

    Atomic QRCode2 Base | ATOM系列新寵!一/二維碼神器

    NEWAtomicQRCode2BaseAtomicQRCode2Base是一款專為ATOM系列主機精心打造的一/二維碼掃描設(shè)備,兼容市場上主流的3類二維碼和8類一
    的頭像 發(fā)表于 06-22 08:29 ?202次閱讀
    Atomic QRCode<b class='flag-5'>2</b> Base | ATOM系列新寵!一<b class='flag-5'>維</b>/<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>神器

    二維碼器/二維碼讀取設(shè)備嵌入園區(qū)閘機系統(tǒng)中的應(yīng)用

    二維碼閱讀設(shè)備集成至閘機系統(tǒng)中,主要功能是通過掃描用戶的二維碼通行證來實施園區(qū)出入口的自動收費。此技術(shù)憑借二維碼的便利性及掃描設(shè)備的高效性,極大地提高了收費效率和精確度,減少了由于人為錯誤
    的頭像 發(fā)表于 06-05 14:46 ?202次閱讀
    <b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>器/<b class='flag-5'>二維碼</b>讀取設(shè)備嵌入園區(qū)閘機系統(tǒng)中的應(yīng)用

    飛凌嵌入式ElfBoard ELF 1板卡-在線二維碼生成器

    在線二維碼生成器允許用戶將文本、網(wǎng)址、圖片或其他數(shù)據(jù)轉(zhuǎn)換為二維碼形式。二維碼是一種特殊類型的條形碼,它可以通過掃描來快速識別和讀取信息。在線二維碼
    發(fā)表于 04-24 17:00

    怎么在Framewin里顯示二維碼

    各位前輩好,剛剛開始使用STemWin。現(xiàn)在一個Framewin里顯示二維碼,在Framewin初始化里調(diào)用二維碼函數(shù)沒有反應(yīng)。請問需要怎么調(diào)用?
    發(fā)表于 04-16 08:27

    遠距離二維碼掃描器如何選擇?看看以下三款遠距離二維碼模塊

    隨著二維碼相關(guān)技術(shù)及硬件的普及與低成本化,二維條碼掃描設(shè)備的應(yīng)用被人們廣為熟知,應(yīng)用的行業(yè)也眾多。然而,在某些場景中,由于需要遠距離掃描二維碼(條碼遠距離識別),傳統(tǒng)的掃設(shè)備已經(jīng)無法
    的頭像 發(fā)表于 03-21 15:41 ?551次閱讀
    遠距離<b class='flag-5'>二維碼</b>掃描器如何選擇?看看以下三款遠距離<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊

    閘機安裝二維碼識別器輕松解決訪客預(yù)約通行難題

    流程,讓訪客管理更加智能化。閘機安裝嵌入專用的二維碼識別器后可以輕松對接各種訪客預(yù)約系統(tǒng),用戶通過掃描訪客出示的二維碼快速讀取信息并驗證身份,無需人工干預(yù),大大提
    的頭像 發(fā)表于 03-11 13:53 ?362次閱讀
    閘機安裝<b class='flag-5'>二維碼</b>識別器輕松解決訪客預(yù)約通行難題

    哪款二維碼掃碼頭適合安裝嵌入到點餐機?嵌入式二維碼的掃描機器詳解

    隨著時代的發(fā)展,自動點餐環(huán)境愈發(fā)智能化,其主要原因是以掃模塊、二維碼掃碼頭等嵌入式二維碼的掃描機器為核心部件的自助點餐機的出現(xiàn),給顧客帶來更好的操作體驗。比如麥當勞、肯德基的點餐機,它提升了用戶
    的頭像 發(fā)表于 02-26 14:31 ?254次閱讀
    哪款<b class='flag-5'>二維碼</b>掃碼頭適合安裝嵌入到點餐機?嵌入式<b class='flag-5'>二維碼</b>的掃描機器詳解

    Labview調(diào)用Halcon識別二維碼

    Labview調(diào)用Halcon識別二維碼 可一次識別多個二維碼 使用Labview 2020編輯,halcon的版本是 19.11,32位
    發(fā)表于 02-21 16:31

    怎樣快速選擇二維碼掃描儀模組

    掃描儀模組來快速、準確采集各種二維碼、屏幕以外,其他只要涉及到掃解決方案的行業(yè)領(lǐng)域都需要使用到這些嵌入式二維碼掃描模組。作為專業(yè)
    的頭像 發(fā)表于 01-11 14:30 ?306次閱讀
    怎樣<b class='flag-5'>快速</b>選擇<b class='flag-5'>二維碼</b>掃描儀模組

    二維碼掃描器模塊 嵌入式掃模塊價格

    二維碼掃描器模塊就是具有二維碼解碼功能的嵌入式掃模塊,它的作用是以命令觸發(fā)或感應(yīng)觸發(fā)的方式快速掃描一
    的頭像 發(fā)表于 10-23 14:37 ?2729次閱讀
    <b class='flag-5'>二維碼</b>掃描器模塊 嵌入式掃<b class='flag-5'>碼</b>模塊價格

    哪款二維碼模塊適合嵌入智能快遞柜?二維碼掃描模組模塊推薦

    作為現(xiàn)代化的物流服務(wù)設(shè)施,智能快遞柜的使用愈發(fā)普遍。為了提供更便捷和高效的服務(wù)體驗,許多快遞柜生產(chǎn)廠商甚至配備了二維碼掃描模組模塊來提升用戶的取件體驗和操作便利性。在安裝嵌入了二維碼模塊后,智能
    的頭像 發(fā)表于 10-19 11:21 ?786次閱讀
    哪款<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊適合嵌入智能快遞柜?<b class='flag-5'>二維碼</b>掃描模組模塊推薦