当前位置: 首页 > 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.dtcms.com/a/321030.html

相关文章:

  • 视频质量检测中准确率↑32%:陌讯多模态评估方案实战解析
  • stm32u575手写数字识别教程
  • Coze Studio 概览(九)--插件管理
  • sqli-labs通关笔记-第37关POST宽字符注入(单引号闭合 手工注入+脚本注入 3种方法)
  • Zabbix监控MySQL性能实战指南
  • OpenAI 正式发布 GPT-5:架构与性能全解析
  • 【深度学习1】什么是神经网络
  • TDSQL GTS文件说明
  • SQL的多表连接查询(难点)
  • 【代码随想录day 15】 力扣 110.平衡二叉树
  • 总结运行CRMEB标准版(uniapp)微信小程序的问题
  • Spring Boot 优雅配置InfluxDB3客户端指南:@Configuration + @Bean + yml实战
  • 配置MyBatis SQL日志打印
  • 机器学习-----SVM(支持向量机)算法简介
  • PEV2(PostgreSQL Explain Visualizer 2)
  • 云平台运维工具 —— 阿里云原生工具
  • 2025年最新Java后端场景题+八股文合集(100w字面试题总结)
  • 「双训智伴」:重构人犬协同的智能训练生态系统
  • 基于 C++ 的湍流数值模拟理论报告
  • 无人机遥控器教练模式技术要点
  • Go 踩过的坑之协程参数不能过大
  • Chat GPT5功能
  • ESP32-menuconfig(3) -- Serial flasher config
  • 宁商平台税务升级之路:合规为纲,服务为本
  • 唯品会以图搜图(拍立淘)API接口调用指南详解
  • Vite React项目引入unocss 及 @unocss/preset-icons的使用
  • Mac安装python、conda环境教程
  • 相机坐标系与世界坐标系的点相互转换:原理、可视化与实践
  • Spring MVC REST API设计详解:从零构建高效接口
  • 2025 TexLive+VScode排版IEEE TGRS论文