如何板端编译OpenCV并搭建应用--基于瑞芯微米尔RK3576开发板

本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微 RK3576开发板)的板端编译OpenCV及环境搭建方案的开发测试。

摘自优秀创作者-短笛君


RK3576具有如下配置:

  • 4× Cortex-A72(大核,主频最高 2.2GHz)

  • 4× Cortex-A53(小核,主频最高 1.8GHz)

  • NPU(AI加速单元):

    • 独立 NPU,算力典型值 6 TOPS(INT8)

    • 支持 TensorFlow Lite、PyTorch、Caffe 等主流框架的模型加速(需 Rockchip 提供的 RKNN Toolkit 工具链)。

因此,我们可以在米尔RK3576开发板上运行opencv代码,来完成一些视觉内容,充分发挥该板的性能。

要先编译opencv需要一些预先的准备工作

首先更新软件包并安装必要的依赖:

复制代码
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev
gfortran openexr libatlas-base-dev python3-dev python3-numpy
libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev
libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

一、板端编译Opencv最新版本

克隆OpenCV和OpenCV contrib仓库:

主仓库(如果未克隆)

复制代码
git clone  
cd opencv
git checkout <版本号,如4.9.0> # 可选,指定版本

contrib仓库(你已克隆)

复制代码
cd /path/to/opencv_contrib # 替换为你的contrib路径
git checkout <与主仓库相同的版本号>

在OpenCV主目录下创建并进入 build文件夹:

复制代码
mkdir build && cd build

使用CMake配置(关键步骤):

复制代码
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D INSTALL_C_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=OFF
-D OPENCV_GENERATE_PKGCONFIG=ON
-D OPENCV_EXTRA_MODULES_PATH=/home/myir/Downloads/opencv-4.11.0/opencv_contrib-4.11.0/modules
-D BUILD_EXAMPLES=ON
-D BUILD_opencv_python3=OFF
-D BUILD_opencv_python2=OFF
-D BUILD_NEW_PYTHON_SUPPORT=OFF
-D WITH_GTK=ON
-D WITH_FFMPEG=ON ..

其中 建议在末尾加上

一切准备完后

会开始环境检查和配置工作

没有报错后 可以进行下一步

复制代码
make -j6

这里不建议全核心去编译 因为可能会遇到不同线程之间编译速度不一样导致依赖报错的问题

编译完成后直接 make install进行安装

检测安装

运行自带例程

二、搭建应用

首先插入USB摄像头 在终端中查看是否读取到了设备 使用命令

复制代码
lsusb

如果正常读取 可以看到设备中有camera关键字

或者安装cheese应用来查看摄像头是否正常

在cpp文件夹下新建build文件夹 使用mkdir build命令创建,然后使用如下命令编译自带例程

复制代码
cd build
cmake ..
make-j8

可以首先测试下opencv环境是否正常

输入

./example_opencv即可打开如上命令,证明系统的cv环境没有问题

性能测试

在hog测试中dnn加速平均帧率10fps左右 8cpu已经接近满载,性能略低树莓派5

tapi测试环境下平均耗时68ms

相关推荐
ShiMetaPi6 分钟前
GM3568JHF:FPGA+ARM异构开发板环境搭建教程
嵌入式硬件·fpga开发
魔力之心20 分钟前
actuary notes[1]
人工智能·概率
七77.31 分钟前
Track Any Anomalous Object: A Granular Video Anomaly Detection Pipeline
深度学习·计算机视觉·异常检测
Fine姐31 分钟前
数据挖掘2.3-2.5:梯度,梯度下降以及凸性
人工智能·数据挖掘
Hello_Embed1 小时前
STM32HAL 快速入门(三):从 HAL 函数到寄存器操作 —— 理解 HAL 库的本质
c语言·stm32·单片机·嵌入式硬件·学习
2501_924730611 小时前
智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析
大数据·人工智能·算法·计算机视觉·目标跟踪·视觉检测·边缘计算
CONDIMENTTTT1 小时前
[机器学习]05-基于Fisher线性判别的鸢尾花数据集分类
人工智能·分类·数据挖掘
学不动CV了1 小时前
FreeRTOS入门知识(初识RTOS任务调度)(三)
c语言·arm开发·stm32·单片机·物联网·算法·51单片机
Kingfar_12 小时前
智能移动终端导航APP用户体验研究案例分享
人工智能·算法·人机交互·ux·用户界面·用户体验
攻城狮7号2 小时前
小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音
人工智能·midashenglm-7b·小米开源大模型·声音理解大模型