• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > STM32圖像處理函式庫介紹

    STM32圖像處理函式庫介紹

    作者:意法半導體AI技術創新中心 時間:2022-10-21 來源:電子產品世界 收藏

    IPL是由 C 語言所編寫的開放原始碼軟件,提供了和計算機視覺功能,能加快在意法半導體(ST)的 微控制器上開發視覺分析的應用。本產品在最新版 (v3.1.0)FP-AI-VISION1功能套件中以STM32Cube 中間件的形式推出。

    本文引用地址:http://www.czjhyjcfj.com/article/202210/439419.htm

    1666334796922400.png

    一般來說,視覺深度學習模型的輸入不同于相機拍攝的圖像,深度學習輸入因為具有不同維度及圖像格式,會需要預先處理原圖,例如縮放、影像格式轉換和標準化等。而STM32IPL可提供實用且現成的軟件套件,以簡化及加速影像預處理功能的開發。

    主要特色

    STM32IPL的主要特色如下:

    -   為開發人員提供實用且現成的軟件套件,節省開發STM32平臺和計算機視覺應用的時間。

    -   滿足使用嵌入式系統的圖像處理及計算機視覺功能時最常見的需求。

    -   透過最大程度的封裝和隱藏,簡化且加速應用程序的開發、降低常見之圖像處理的復雜度,并提升計算機視覺運算的能效。

    STM32IPL依不同功能配置于各種模塊中,如下圖所示:

    1666334825118322.png

    這些模塊可被劃分至以下分組:

    -   初始化和去初始化分組(深綠模塊)

    -   影像建立、初始化和發布等分組(淺綠色模塊)

    -   影像轉換功能,如濾波、色彩轉換、縮放、morphological operators及warping等分組(深黃色模塊)

    -   特征和對象擷取功能,如邊緣和斑點偵測器以及霍夫轉換等分組(淺黃色模塊)

    -   線條、長方形和橢圓形等圖形操作功能分組(深藍模塊)

    -   影像讀取和寫入功能的分組(淺藍模塊)

    -   在影像內繪制圖形元素的功能分組(深灰模塊)

    -   最后一個群組包含計算完整圖像和圖像統計等其他模塊(淺灰模塊)

    下方照片為STM32IPL的圖像處理功能范例:

    原圖:

    image.png

    經高斯濾波器處理后:

    image.png

    經坎尼邊緣偵測算法處理后:

    image.png

    鏡面翻轉后:

    image.png

    180° 旋轉后:

    image.png

    軟件架構

    采用STM32IPL的典型STM32應用程序軟件架構如下所示:

    1666334915792211.png

    STM32IPL位于BSP和HAL的中間件內,除了下列兩種利用了部分STM32 MCU所提供的硬件功能之外,絕大部分的STM32IPL功能皆不受平臺影響:

    -   在檔案上執行讀?。瘜懭胱鳂I的I/O功能。指的是兩個用于處理受支持影像文件格式 (如 BMP、PPM、PGM 和 JPEG)的讀?。瘜懭牒?。上述函式的運作仰賴于下列第三方開放原始碼函式庫(屬于STM32Cube中間件組件的一部分):

    o   FatFs提供在FatFS文件系統上的讀?。瘜懭氩僮鞴δ堋@缱x取和寫入 microSD卡內的影像。

    o   LibJPEG提供JPEG編碼和譯碼功能。

    -       此函式能讓STM32 DMA2D在屏幕上快速繪制圖像,其中DMA2D為適用于圖形作業的硬件加速器。

    高階功能范例

    本章節以霍夫轉換和物體偵測兩項高階功能作為范例,說明其運作原理及對于影像的作用:

    霍夫轉換

    霍夫轉換是一種能偵測簡易形狀的特征擷取方法,而 “簡易” 是指可以用少數參數來表示的圖案,例如:一條線可由斜率、截距兩項參數做表示,而圓形則是以圓心坐標和半徑三項參數做表示。因此,霍夫轉換技術十分適用于在圖像中找出像是線條、圓形的圖案。

    STM32IPL支持兩種霍夫轉換功能:

    -   STM32Ipl_FindLines() 可透過霍夫轉換找出影像中所有線條。

    -   STM32Ipl_FindCircles() 則可透過霍夫轉換找出影像中的圓形。

    下方兩張照片展示了使用霍夫轉換偵測線條的結果。

    原圖:

    1666334942397190.png

    經過霍夫轉換的線條偵測后結果:

    1666334967778564.png

    然而,偵測到的線條質量有很大程度取決于edge map,因此在實務上,使用霍夫轉換技術的前提是要能夠控制環境,從而得出一致的edge map,或是透過訓練邊緣偵測器,找出所需的特定邊緣種類。

    下方兩張照片為使用霍夫轉換偵測圓形的結果,結果同樣有很大程度取決于可用邊緣的質量,以及對于所需偵測圓形尺寸的先備知識。

    原圖:

    image.png

    經過霍夫轉換的圓形偵測后結果:

    1666335004926717.png

    物體偵測

    物體偵測是一種計算機視覺技術,可辨識和定位圖像或影片中的物體,此技術常用于自駕車、機器人、人臉辨識等情境。

    STM32IPL提供三種物體偵測功能:

    -       STM32Ipl_LoadFaceCascade() 載入正面臉部串行。

    -       STM32Ipl_LoadEyeCascade() 載入眼部串行。

    -       STM32Ipl_DetectObject() 偵測特定串行描述的對象。

    下方照片展示了臉部偵測和眼部偵測兩項功能的結果:

    原圖:

    image.png

    經過眼部和臉部偵測后結果:

    1666335042141757.png

    若欲取得此STM32IPL函式庫,使用者必需下載最新的FP-AI-VISION1功能套件,存取路徑如下:FP-AI-VISION1_V3.1.0MiddlewaresSTSTM32_ImageProcessing_LibraryInc



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 出国| 常州市| 潼南县| 永安市| 南宁市| 卢氏县| 两当县| 渑池县| 萨迦县| 玛沁县| 阿拉善左旗| 梅河口市| 呈贡县| 金秀| 调兵山市| 荥经县| 万源市| 鹤岗市| 杨浦区| 柳州市| 深州市| 鄱阳县| 普洱| 莆田市| 万源市| 红原县| 碌曲县| 嵊泗县| 桦川县| 庆城县| 盘山县| 徐水县| 泸水县| 宁阳县| 通州市| 台前县| 长乐市| 兴义市| 翁源县| 乐亭县| 天祝|