香橙派RK3588开发板OrangePi5Ultra编译Opencv4.1

香橙派编译OpenCV4.1教程
该文章已生成可运行项目,

前言:在使用go对接百度人脸识别离线sdk的时候,由于我们项目使用的是gocv0.35.0版本,对应的opencv4.8,编译了opencv4.8在对接过程中会遇到传入Mat后C发生内存溢出,直接崩溃了,后面怎么折腾代码都没用,于是怀疑是不是编译的opencv4.8和sdk中自带的4.1版本冲突了,于是有如下编译opencv4.1的过程,编译过程中遇到的问题,都在下方描述了!

环境:Ubuntu22.04.5 arm64架构

1.删除安装的文件(如有安装过)

sudo rm -rf /usr/local/include/opencv*
sudo rm -rf /usr/local/include/opencv2
sudo rm -rf /usr/local/lib/libopencv*
sudo rm -rf /usr/local/share/opencv

2.下载opencv4.1+opencv_contrib4.1源码

git clone --depth 1 -b 4.1.0 https://github.com/opencv/opencv.git
git clone --depth 1 -b 4.1.0 https://github.com/opencv/opencv_contrib.git

3.进入carotene目录修改CMakeLists.txt文件

cd opencv/3rdparty/carotene && sudo vim CMakeLists.txt

4.将找到的 --param ipcp-unit-growth=100000 修改为 --param ipa-cp-unit-growth=100000
输入 i 进行编辑
编辑完输入 ESC 再输入 :wq 回车

5.进入hal目录修改CMakeLists.txt文件

cd hal && sudo vim CMakeLists.txt

6.将找到的所有 --param ipcp-unit-growth=100000 修改为 --param ipa-cp-unit-growth=100000
输入 i 进行编辑
编辑完输入 ESC 再输入 :wq 回车

7.进入src目录修改parallel.cpp文件

cd ../../../modules/core/src && sudo vim parallel.cpp

8.将找到的 #include "tbb/tbb_stddef.h" 修改为 #include "oneapi/tbb/version.h"
输入 i 进行编辑
编辑完输入 ESC 再输入 :wq 回车

9.返回到opencv目录

cd ../../../

10.创建并进入build目录

mkdir build && cd build

11.生成cmake文件(按需修改参数)

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_opencv_java=OFF -D BUILD_opencv_python3=ON -D WITH_OPENMP=OFF -D WITH_GSTREAMER_0_10=OFF -D WITH_VTK=OFF -D WITH_LIBV4L=ON -D WITH_V4L=ON -D WITH_OPENMP=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_SHARED_LIBS=ON -D ENABLE_PIC=ON -D WITH_ARITH_DEC=ON -D WITH_ARITH_ENC=ON -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_IMGCODEC_HDR=ON -D WITH_IMGCODEC_PXM=ON -D WITH_IMGCODEC_SUNRASTER=ON -D WITH_JASPER=ON -D WITH_JPEG=ON -D WITH_LAPACK=ON -D WITH_PNG=ON -D WITH_QT=OFF -D WITH_PTHREADS_PF=ON -D WITH_TIFF=ON -D WITH_WEBP=ON -D WITH_GTK=ON -D WITH_OPENCL=ON -D BUILD_opencv_world=ON -D WITH_PNG=ON -D BUILD_PNG=OFF -D PNG_LIBRARY=/usr/lib/aarch64-linux-gnu/libpng.so -D PNG_PNG_INCLUDE_DIR=/usr/include -D OPENCV_FORCE_3RDPARTY_BUILD=OFF -D BUILD_opencv_img_hash=ON ..

12.编译 

sudo make -j8 #8根据cpu线程数来

13.安装

sudo make install

14.更新动态链接库

sudo ldconfig

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值