RK3588_Opencv4.7编译
2025-12-11
| 2025-12-11
字数 1617阅读时长 5 分钟
type
status
date
slug
summary
tags
category
icon
password
首先介绍笔者的环境:RK3588,Ubuntu20.04,可”正常上网”,整个流程在板子上编译完成,这里首先做提醒,最好能保证板子可以”正常上网”,因为编译过程中会在github上下载很多文件,网络不好很容易编译失败.无法”正常上网”的可查看我上一篇博客,也许有帮助

1.下载文件

1.1 opencv源码

要下好opencv和opencv-contrib的源码,记住版本一定要对上。注意:此处笔者并没有安装opencv-contrib,给出只是方便为了需要安装opencv-contrib的同学
这里简单介绍一下opencv-contrib:它是一个包含OpenCV额外模块的代码库。这些模块包含了一些新的、实验性的或不稳定的功能,它们不包含在OpenCV的官方发行版中。这些模块通常没有经过充分的测试,它们的API也可能会发生变化。如果没有特定需求,可以不安装.

1.2 安装cmake

如果需要图形界面的cmake,请安装
下文不使用gui

1.3 安装依赖包

添加以下的源,这个源下的ffpmeg、gstreamer带rk3588的硬件加速
  1. 安装ffmpeg开发包
  1. 根据自己的需求安装其他的开发包,例如,png,jpeg ,lapack,egein等等
  1. 安装gstreamer
终端执行以下命令,安装gstreamer基础库,

2.开始编译

将opencv和opencv-contrib解压到自己熟悉的路径,例如:/home/develop/
进入opencv文件夹,确认存在CMakeLists.txt文件,而后新建文件夹builde,进入文件夹,指令示例:
接下来是重头戏:输入cmake及编译指令,以下是作者采用的参数,下文将做一些注释,注意,接下来的指令不可直接运行,只是用于解释,读者如需要请根据需求修改或使用后文的纯享版
编译参数解释,官方解释https://docs.opencv.org/4.x/db/d05/tutorial_config_reference.html
笔者使用的cmake 参数如下:
然后就会进入漫长的预编译过程,过程中如果出现报错请优先检查以下几个点
  1. 是否在opencv目录下新建了build文件夹并在里面运行cmake
  1. opencv文件夹下是否有CMakeLists.txt
  1. opencv的版本和opencv-contrib版本是否一致
  1. opencv-contrib/modules的地址是否正确
  1. 是否能连接github并下载文件(出错概率最高)
  1. 报错后重新编译请删除原来build下的所有文件,可用sudo rm -rf *来实现
如果上述问题确认无误但还是出错,请查看cmake后的消息中含有errorfailednot等关键字的信息,然后谷歌
如果成功编译后请在控制台继续输入make -j8,然后经过漫长的等待,完成后再输入make install,完成后就可以去你指定的安装目录下查看了
整个编译流程的命令行代码如下:

3.设置环境变量

上述工作做完后还需要设置环境变量方便程序识别

4.测试

用C++测试一下opencv并调用摄像头显示在屏幕上的内容,笔者使用的USB免驱摄像头,其他的并未尝试
先用v4l2-ctl --list-devices查看自己摄像头的编号,然后替换掉cpp文件中的VideoCapture cap(0)中的数字
新建camera_test.cpp文件,在里面输入:
然后在同一文件夹下新建CMakeLists.txt,输入:
最后打开终端,新建build文件夹,在里面编译出可执行文件
不出意外就会显示摄像头的画面了
  • 开发
  • Mobilint NPU评估ubuntu22.04编译实时内核
    Loading...