当前位置: 首页 > news >正文

如何板端编译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

http://www.lryc.cn/news/614233.html

相关文章:

  • Spring系列之Spring AI入门
  • MySQL definer does not exist 问题分析
  • 一动鼠标就锁屏,设备活动监控方案的技术实现与应用
  • CPO-SVM分类预测+特征贡献SHAP分析,通过特征贡献分析增强模型透明度,Matlab代码实现,引入SHAP方法打破黑箱限制,提供全局及局部双重解释视角
  • ctrl+alt+方向键导致屏幕旋转的解决方法
  • Atto Round 1 (Codeforces Round 1041, Div. 1 + Div. 2)
  • apiSQL网关调优:释放单节点的最大潜能
  • FreeRTOS---基础知识5
  • 【问题解决】使用patch-package修改node-models中的源码
  • Java 之 多态
  • CSS--后端也有自己的CSS要学
  • 腾讯 WeKnora 深度解析:大模型时代文档理解与检索的技术突破
  • Git 基础操作笔记(速查)
  • 解决:开启魔法后vscode pip命令不能安装中科大python镜像问题
  • Product Hunt 每日热榜 | 2025-08-08
  • 20250808:EasyGBS 对接大华 ICC 平台问题处理
  • 智慧农业温室大棚物联网远程监控与智能监测系统
  • 存储管理、XFS 增量备份恢复、LVM
  • 医疗设备专用电源滤波器的安全设计与应用价值|深圳维爱普
  • 【探展WAIC】从“眼见为虚”到“AI识真”:如何用大模型筑造多模态鉴伪盾牌
  • 显示器同步技术终极之战:G-Sync VS. FreeSync
  • 日本语言学校|ICA国际会话学院:从原始文本到结构化事实的建模实录(工程师向)
  • 888. 公平的糖果交换
  • 机器学习之支持向量机(原理)
  • Go 踩过的坑之协程参数不能过大
  • 四、redis入门之集群部署
  • 惯量时间常数 H 与转动惯量 J 的关系解析
  • UE5 图片9宫格切割
  • B4263 [GESP202503 四级] 荒地开垦 题解
  • Go语言实战案例:简易JSON数据返回