RK3588移植 opencv交叉编译

参考资料:

工程参考
在RK3588 c++的开发中用到了opencv库,但是官方的SDK例程中的opencv库不完整,如没有读视频的cv::VideoCapture函数,所以重新编译opencv库

opencv库可以直接在RK3588上进行编译,也可以选择在自己的Ubuntu上交叉编译opencv,然后在RK3588上调用编译好的库文件。

步骤:

  1. 下载opencv源码,创建build和install文件夹
cd opencv-3.4.5
mkdir build
mkdir install
  1. 安装cmake
sudo snap install cmake --classic
  1. gcc环境变量配置
vim ~/.bashrc

在最后添加

export PATH="/home/wyh/opencv/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH"

使环境变量生效

source ~/.bashrc

验证gcc

arm-none-linux-gnueabihf-gcc -v
  1. 启动cmake-gui完成配置然后进行编译
cmake-gui

参考以下资料进行配置
https://www.ebaina.com/articles/140000013416
https://zhuanlan.zhihu.com/p/84839635
https://blog.csdn.net/xidaoliang/article/details/124730226?spm=1001.2014.3001.5502

进入opencv的build目录
make -j4

我遇到的一些错误
报错:#error “No suitable threading library available.” #error “No suitable threading library available.

解决:https://www.cnblogs.com/leoking01/p/16046212.html 报错:undefined reference to ‘png_init_filter_functions_neon’
解决:修改3rdparty/libpng/pngpriv.h

128:
129:if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \

编译成功后:

make install

最后把install文件夹复制到板子上
5. 将板子上工程里的CMakeLists.txt文件中配置好新编译的opencv库的路径
编译项目工程生成可执行文件

. build-linux-RK3588.sh
. run.sh

Original: https://blog.csdn.net/qq_42044264/article/details/126301444
Author: Bugger99
Title: RK3588移植 opencv交叉编译

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/651338/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球