国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

ElfBoard技術貼|如何在【RK3588】ELF 2開發板中安裝openCV4以及第三方庫contrib

ElfBoard ? 2025-08-05 11:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式應用開發領域,OpenCV憑借其豐富的功能成為開發者處理計算機視覺任務的首選工具。Buildroot為開發者提供了便捷的嵌入式系統構建環境,其默認集成的OpenCV版本為4.5.4。 然而實際應用中,不同項目對功能、性能等方面常有特定需求,開發者可能需要使用其他版本的OpenCV,此時便需替換Buildroot的默認配置。 同時,為滿足更復雜場景需求并擴展功能,添加OpenCV的contrib模塊也便成了常見工作,下面將詳細介紹這一過程的實現。

場景1:配置Buildroot中默認OpenCV版本

Buildroot源碼中默認的OpenCV版本為4.5.4

1、由于Linux5.10.209系統默認是不編譯Buildroot 的,所以首先需要在虛擬機上編譯一遍Buildroot,方法見附件《ELF 2開發板編譯手冊》

2、Linux5.10.209內核版本的Buildroot系統里的OpenCV默認配置的版本是4.5.4

elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh bconfig

路徑如下:


-> Target packages                                                   
   -> Libraries
       -> Graphics
           -> opencv4                        
wKgZPGiRbq6AIUQzAASbOh8nY_M750.png


再按下“Enter”鍵進入OpenCV4里面進行選擇,選擇樣式如下圖(注意和紅色框選擇的一樣即可):

wKgZO2iRch6AQ30JAAaCAe51PBY570.png

修改完成之后保存退出。

3、編譯Buildroot

elf@ubuntu:~/work/ELF2-linux-source$./build.sh rootfs

ELF2-linux-source/buildroot/output/elf2_fs/host/aarch64-buildroot-linux-gnu/sysroot/usr/目錄下會有一個include目錄和一個lib目錄,編譯出的OpenCV庫頭文件與庫文件就放在這兩個目錄里。

在include目錄里可以找到OpenCV4目錄,在lib目錄里可以找到libopencv_*開頭的所有OpenCV庫文件,說明你已將OpenCV加入到Buildroot系統中。

場景2:Buildroot中更換OpenCV版本

參考場景1,只需在Buildroot中完成OpenCV的配置添加,無需執行文件系統編譯。

1、虛擬機安裝sha校驗工具

sudo apt-getinstall hashalot

2、更換版本需要刪除ELF2-linux-source/buildroot/package/opencv4/目錄下的patch 文件

elf@ubuntu:~/work/ELF2-linux-source$rm buildroot/package/opencv4/0001-modules-videoio-src-cap_ffmpeg_impl.hpp-fix-build-wi.patch

3、修改ELF2-linux-source/buildroot/package/opencv4/opencv4.mk文件。修改版本為4.10.0, 添加OpenCL支持

#改一下version,然后針對不同版本編譯選項做修改即可
#OPENCV4_VERSION = 4.5.4
OPENCV4_VERSION = 4.10.0
OPENCV4_SITE = $(call github,opencv,opencv,$(OPENCV4_VERSION))
OPENCV4_INSTALL_STAGING = YES
OPENCV4_LICENSE = Apache-2.0
OPENCV4_LICENSE_FILES = LICENSE
OPENCV4_CPE_ID_VENDOR = opencv
OPENCV4_CPE_ID_PRODUCT = opencv
OPENCV4_SUPPORTS_IN_SOURCE_BUILD = NO
# Disabled features (mostly because they are not available in Buildroot), but
# - eigen: OpenCV does not use it, not take any benefit from it.
OPENCV4_CONF_OPTS += \
        -DWITH_1394=OFF \
        -DWITH_CLP=OFF \
        -DWITH_EIGEN=OFF \
        -DWITH_GDAL=OFF \
        -DWITH_GPHOTO2=OFF \
        -DWITH_GSTREAMER_0_10=OFF \
        -DWITH_LAPACK=OFF \
        -DWITH_MATLAB=OFF \
        # -DWITH_OPENCL=OFF
        -DWITH_OPENCL=ON \  #添加OpenCL支持
        -DWITH_OPENCL_SVM=OFF \
        -DWITH_OPENEXR=OFF \
        -DWITH_OPENNI2=OFF \
        -DWITH_OPENNI=OFF \
        -DWITH_UNICAP=OFF \
        -DWITH_VA=OFF \
        -DWITH_VA_INTEL=OFF \
        -DWITH_VTK=OFF \
        -DWITH_XINE=OFF

4、編譯Buildroot

修改完成后,執行編譯Buildroot 的命令,會自動下載OpenCV4.10.0 的壓縮包到ELF2-linux-source/buildroot/output/elf2_fs/build/目錄下。

elf@ubuntu:~/work/ELF2-linux-source$./build.sh rootfs

ELF2-linux-source/buildroot/output/elf2_fs/host/aarch64-buildroot-linux-gnu/sysroot/usr/目錄會有一個include目錄和一個lib目錄,編譯出的OpenCV庫頭文件與庫文件就放在這兩個目錄里。

場景3:添加OpenCV第三方庫contrib

OpenCV在視覺算法中的功能非常強大,其中一個原因就是該算法庫一直在與時俱進的更新最新的算法,對于具有專利的算法(如SURF)以及一些還沒有穩定的算法,OpenCV會將其置于擴展模塊中,這些擴展模塊包含在opencv_contrib代碼庫中。

對于該第三方庫,選擇手動編譯,不使用buildroot構建。

1、需要先確認OpenCV4,ELF2-linux-source/buildroot/output/elf2_fs/build/路徑下安裝有OpenCV4 的文件夾

2、將附件OpenCV4-contrib-4.5.5 壓縮包解壓到ELF2-linux-source/buildroot/output/elf2_fs/build/目錄

源碼:https://github.com/opencv/opencv_contrib contrib的git 倉庫。

3、配置cmake 工具

sudo apt-getinstall cmake

由于沒有Buildroot幫我們配置交叉編譯器。所以需要我們自行配置。

進到ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/platforms/linux/

路徑下,修改aarch64-gnu.toolchain.cmake文件。將GNU_MACHINE的路徑替換成Buildroot 系統里自帶的交叉編譯器的路徑+前綴。

set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "/home/elf/work/ELF2-linux-source/buildroot/output/elf2_fs/host/bin/aarch64-buildroot-linux-gnu" CACHE STRING "GNU compiler triple")
include("${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")

4、進入到ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/

目錄, 創建一個名為build和add_contrib_install的文件夾,然后進入build,通過如下命令,編譯OpenCV4.10.0及contrib第三方庫

elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0$ mkdir build
elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0$ mkdir add_contrib_install
elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0$ cd build
elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/build$ cmake .. -D CMAKE_INSTALL_PREFIX=../add_contrib_install -DCMAKE_TOOLCHAIN_FILE=/home/elf/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/platforms/linux/aarch64-gnu.toolchain.cmake -DOPENCV_EXTRA_MODULES_PATH=/home/elf/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv_contrib-4.5.5/modules -DBUILD_opencv_xphoto=OFF -DBUILD_opencv_rgbd=OFF -DBUILD_opencv_ximgproc=OFF -DBUILD_opencv_xfeatures2d=OFF

CMAKE_INSTALL_PREFIX:表示生成的bin和libs的存放路徑。

DCMAKE_TOOLCHAIN_FILE:表示cmake交叉編譯器的路徑。

DOPENCV_EXTRA_MODULES_PATH:表示contrib源碼中modules的路徑。

5、make進行編譯

執行nproc,查看虛擬機有幾個核。返回值為4,所以執行make -j4。

elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/build$ nproc
4
elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.10.0/build$ make -j4

6、執行make install

生成的bin和lib 將被install到CMAKE_INSTALL_PREFIX宏指定的../add_contrib_install目錄中。

將add_contrib_install 目錄中 的lib和include 目錄下的文件復制到開發板上。

elf@ubuntu:~/work/ELF2-linux-source/buildroot/output/elf2_fs/build/opencv4-4.1
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6074

    文章

    45368

    瀏覽量

    664654
  • 嵌入式
    +關注

    關注

    5189

    文章

    20192

    瀏覽量

    329549
  • OpenCV
    +關注

    關注

    33

    文章

    651

    瀏覽量

    44486
  • Linux開發
    +關注

    關注

    0

    文章

    44

    瀏覽量

    7625
  • RK3588
    +關注

    關注

    8

    文章

    503

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列
    的頭像 發表于 09-22 15:54 ?2.2w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    ElfBoard技術|如何在RK3588ELF 2開發板上進行根系統的定制

    ELF 2開發板已經適配了Linux 5.10及Elf2 Desktop 22.04操作系統,其中Elf2 Desktop 22.04系統是
    的頭像 發表于 07-02 16:33 ?2778次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行根系統的定制

    ElfBoard技術|如何在RK3588ELF 2開發板上進行UART引腳復用配置

    IOMUX(引腳功能復用)是芯片廠商為高效利用有限硬件引腳資源而設計的關鍵技術,它允許單個物理引腳通過軟件配置為多種不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各異,本文將以【RK3588
    的頭像 發表于 11-18 16:54 ?5144次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行UART引腳復用配置

    ElfBoard技術|如何在RK3588ELF 2開發板實現I2C功能復用

    C等。由于此項配置的具體實現因SoC平臺而異,本文特以【RK3588ELF 2開發板上的I2C6引腳為例,系統說明從硬件規格查詢到軟件驅動
    的頭像 發表于 12-04 10:10 ?7139次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>實現I<b class='flag-5'>2</b>C功能復用

    如何把第三方加到PROTEUS

    新手求教,弱弱的問下,下了一個第三方,說是要先安裝,再添加路徑,可是我下來的第三方沒有看到安裝
    發表于 06-15 22:32

    opencv直接在RK3588開發板上進行編譯

    RK3588 c++的開發中用到了opencv,但是官方的SDK例程opencv
    發表于 09-15 17:56

    鴻蒙開發怎么引入第三方

    Android 發展到現在不僅提供了很多 API,還提供了很多第三方。這降低了我們開發者的開發難度,提升了開發效率,讓應用
    的頭像 發表于 10-11 14:11 ?5137次閱讀

    何在Raspberry Pi 3上安裝OpenCV4

    今天我們將學習如何在 Raspberry Pi 3 上安裝 OpenCV4 ,以便我們可以將其用于計算機視覺應用程序。這將允許 OpenCV
    的頭像 發表于 09-08 16:09 ?2387次閱讀
    如<b class='flag-5'>何在</b>Raspberry Pi 3上<b class='flag-5'>安裝</b><b class='flag-5'>OpenCV4</b><b class='flag-5'>庫</b>

    迅為RK3588開發板-基于瑞芯微RK3588攝像頭方案

    RK3588開發板
    的頭像 發表于 06-09 11:09 ?7073次閱讀
    迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>攝像頭方案

    學會安裝第三方開源

    你好,我是愛吃魚香ROS的小魚。秉承著拒絕重復造輪子的ROS精神,本節我們學習如何在我們的工程里安裝第三方開源
    的頭像 發表于 07-13 14:35 ?2397次閱讀
    學會<b class='flag-5'>安裝</b><b class='flag-5'>第三方</b>開源<b class='flag-5'>庫</b>

    rk3588有哪些開發板

    AIO-3288J。下面會逐一介紹這些開發板。 一、RockPro64 RockPro64是Radxa公司推出的一款基于rk3588 SoC的開發板,采用LPDDR4 8GB、64位
    的頭像 發表于 08-15 17:04 ?3654次閱讀

    itop-RK3588開發板機器視覺開發OpenCV-Python的安裝

    itop-RK3588開發板機器視覺開發OpenCV-Python的安裝
    的頭像 發表于 01-26 15:18 ?5094次閱讀
    itop-<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>機器視覺<b class='flag-5'>開發</b><b class='flag-5'>OpenCV</b>-Python的<b class='flag-5'>安裝</b>

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?2021次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>

    迅為電子RK3588S開發板第三章Buildroot系統功能測試

    迅為電子RK3588S開發板第三章Buildroot系統功能測試
    的頭像 發表于 09-02 14:45 ?1996次閱讀
    迅為電子<b class='flag-5'>RK3588</b>S<b class='flag-5'>開發板</b><b class='flag-5'>第三</b>章Buildroot系統功能測試

    ElfBoard技術|如何在RK3588ELF 2開發板用戶空間更換開機Logo

    傳統修改開發板開機Logo的方式需要重新編譯內核,流程復雜且耗時。本文介紹了一種創新方案:通過預先在存儲劃分專用的Logo分區,允許用戶直接在文件系統更新Logo圖片文件,這極大地簡化了定制流程
    的頭像 發表于 10-29 11:12 ?1011次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>用戶空間更換開機Logo