91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

RZ/A2M DRP實現二維碼編碼格式的快速檢測

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

pYYBAGJrkQCAAWawAACMsGJFYzg202.png

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

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

poYBAGJrkQCAS5DwAACet7EeZR0508.png

步驟1

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

pYYBAGJrkQCAT6GmAAAmZMfpQ0Y009.png

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

poYBAGJrkQCAR3ajAABZOyFuqWs995.png

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

步驟2

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

pYYBAGJrkQCAIVMMAAB2RzTH6kE553.png

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

poYBAGJrkQGAZ2VlAAGJx8uX8Xs183.png

步驟3

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

pYYBAGJrkQGAE58FAAAXrOy-ZWQ537.png

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

掃描窗口中心點的新數據輸出值為3x3范圍內的最大值

實現效果:將白色擴展,吞并被包圍的黑色區域

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

經過膨脹處理后的圖像中,包含二維碼數據的區域基本被聯通,形成一個包含整個二維碼的大區域。總處理時間是0.4ms左右,包含0.2ms的DRP庫載入時間和0.2ms的圖像數據處理時間。

poYBAGJrkQGAUahpAAGmk0GIGyk594.png

步驟4

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

pYYBAGJrkQGAFZuQAACApnwCbyQ448.png

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

poYBAGJrkQKAc0vaAAFVasfIbyk758.png

步驟5

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

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

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

pYYBAGJrkQKAd70NAAFFusP9QV4977.png

步驟6

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

poYBAGJrkQKABepkAAM3xKUJ7hI342.png

步驟7

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

pYYBAGJrkQKAGpgBAADQHpIV1yA018.png

步驟8

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

poYBAGJrkQOAHax9AAHNRflCzsI605.png

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

pYYBAGJrkQOAO2vIAABwRPt3lCo195.png

步驟9

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

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

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

poYBAGJrkQOAPephAAJBIBlxJio895.png

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

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

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

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

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

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

審核編輯:郭婷

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

    關注

    68

    文章

    19896

    瀏覽量

    235205
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11080

    瀏覽量

    217075
  • 微處理器
    +關注

    關注

    11

    文章

    2383

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

    基于RK3576開發板的二維碼識別算法

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

    基于RV1126開發板實現二維碼識別方案

    在RV1126上實現二維碼識別方案
    的頭像 發表于 04-11 14:48 ?267次閱讀
    基于RV1126開發板<b class='flag-5'>實現</b><b class='flag-5'>二維碼</b>識別方案

    二維碼讀取器是干嘛的

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

    一“”當先!看二維碼模組如何重塑智能門鎖掃體驗

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

    快速二維碼掃描識別模組嵌入集成到安卓一體機上使用

    在現代科技快速發展的今天,二維碼掃描模組的應用已深入到各個行業領域。特別是在安卓一體機中,二維碼掃描模組已成為其不可或缺的一部分。本文將詳細介紹如何在安卓一體機上安裝二維碼掃描模組、連
    的頭像 發表于 02-28 15:59 ?482次閱讀
    <b class='flag-5'>快速</b>將<b class='flag-5'>二維碼</b>掃描識別模組嵌入集成到安卓一體機上使用

    RS232接口的二維影像掃描引擎,廣泛用在醫療設備上掃一二維碼

    其穩定可靠的性能,成為連接醫療設備與二維碼之間的橋梁。在醫療設備上,二維影像掃描引擎通過RS232接口與設備主體相連,實現了對一二維碼
    的頭像 發表于 12-23 16:02 ?619次閱讀
    RS232接口的<b class='flag-5'>二維</b>影像掃描引擎,廣泛用在醫療設備上掃一<b class='flag-5'>維</b><b class='flag-5'>二維碼</b>

    工業級二維碼掃描模組有哪些特點?

    工業級二維碼掃描模組是用于各種工業環境中,快速、準確地識別和解碼二維碼的關鍵設備。隨著工業4.0和物聯網的快速發展,工業級二維碼掃描模組的應
    的頭像 發表于 12-02 15:02 ?530次閱讀
    工業級<b class='flag-5'>二維碼</b>掃描模組有哪些特點?

    工業視覺在條碼/二維碼識別領域的應用

    工業視覺技術在條碼和二維碼識別領域的應用日益廣泛,它通過高精度的圖像處理和識別算法,實現了對條碼和二維碼快速、準確識別。這項技術不僅提高了生產效率,還降低了人工錯誤的可能性,確保了產
    的頭像 發表于 11-18 16:28 ?788次閱讀
    工業視覺在條碼/<b class='flag-5'>二維碼</b>識別領域的應用

    工業二維碼器在電子制造業中的應用

    工業二維碼器在電子制造業中的應用主要體現在以下幾個方面:▲生產追溯管理工業二維碼器通過對電子產品上的二維碼進行
    的頭像 發表于 11-13 16:19 ?568次閱讀
    工業<b class='flag-5'>二維碼</b>讀<b class='flag-5'>碼</b>器在電子制造業中的應用

    二維碼識讀設備有哪些類型

    隨著二維碼應用的日益普及,各類二維碼識讀設備也應運而生。這些設備不僅極大地方便了我們的日常生活,也為企業提供了更加高效便捷的服務。那么,你知道二維碼識讀設備都有哪些類型嗎?讓我們一起來了解一下。據
    的頭像 發表于 11-05 16:10 ?928次閱讀
    <b class='flag-5'>二維碼</b>識讀設備有哪些類型

    二維碼掃描頭設備嵌入到閘機上,實現掃手機屏幕完成簽到簽退

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

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

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

    Labview生成二維碼

    ?Labview 的一個Demo,生成二維碼
    發表于 08-01 17:12 ?20次下載
    主站蜘蛛池模板: 亚洲www.| 天堂8在线天堂资源在线 | 91色在线视频 | 爆操欧美 | 日本久久久久久久 | 一区二区视屏 | 久久久久久久久久久9精品视频 | 久久狠色噜噜狠狠狠狠97 | 亚洲综合精品一区二区三区中文 | 182tv免费视视频线路一二三 | 97影院理论片手机在线观看 | 日本一区二区高清免费不卡 | 永久免费看mv网站入口 | www.亚洲成人 | 亚洲第一视频区 | 91操视频| 女人张开腿让男人桶免费最新 | 天天透天天射 | 精品女同 | 最新仑乱免费视频 | 亚洲国产成人久久一区久久 | 久久性 | 噜噜噜天天躁狠狠躁夜夜精品 | 男女做性无遮挡免费视频 | 日韩毛片免费视频一级特黄 | 国产黄mmd在线观看免费 | 欧美性生活网址 | h网址在线观看 | 青楼社区51在线视频视频 | 色婷婷在线观看视频 | 色97色| 天天干天日 | 玖玖在线国产精品 | 天堂tv亚洲tv日本tv欧美人tv | 男人女人真曰批视频播放 | 亚洲综合色视频 | 久久久久国产精品 | 黄色的视频在线免费观看 | 色婷婷亚洲十月十月色天 | 久久久噜久噜久久gif动图 | 国产小视频在线观看 |