ARM系统源码编译OpenCV 4.10.0(包含opencv_contrib)
因项目部署在ARM系统上,需要编译一个arm版本的opencv-4.10.0(带opencv_contrib)版本。
若需要Linux系统下源码安装OpenCV,可参考:https://blog.csdn.net/qq_45445740/article/details/142770493?spm=1001.2014.3001.5501
若需要Linux系统源码编译OpenCV,可参考:https://blog.csdn.net/qq_45445740/article/details/144244604?spm=1001.2014.3001.5501
1.源码下载和环境准备
整体的编译过程和之前在x86系统上几乎一致,因为我没有ARM设备,就用docker搭建了一个环境,关于docker的相关操作可以参考:https://blog.csdn.net/qq_45445740/article/details/145628187?spm=1001.2014.3001.5501
关于源码下载和编译的过程参考:https://blog.csdn.net/qq_45445740/article/details/144244604?spm=1001.2014.3001.5501
2.编译过程
- 确认环境是否正确:
aarch64
uname -a
Linux 62471a960847 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 aarch64 aarch64 aarch64 GNU/Linux
- aarch64 ARM环境编译opencv源码
cmake -D CMAKE_BUILD_TYPE=Release \-D CMAKE_INSTALL_PREFIX=/root/opencv/opencv-4.10.0/install \-D OPENCV_EXTRA_MODULES_PATH=/root/opencv/opencv_contrib-4.10.0/modules \-D BUILD_SHARED_LIBS=ON \-D CMAKE_CXX_STANDARD=11 \-D WITH_WEBP=OFF \-D WITH_JPEG=ON \-D WITH_TIFF=OFF \-D BUILD_EXAMPLES=ON \-D BUILD_PERF_TESTS=OFF \-D BUILD_TESTS=OFF \-D BUILD_opencv_apps=OFF \-D WITH_CUDA=OFF \-D BUILD_JAVA=OFF \-D WITH_FFMPEG=OFF \-D WITH_VTK=OFF \-D OPENCV_ENABLE_NONFREE=ON ..# 如果遇到下载不下来的文件需要及时替换# 编译过程中如果出错了,可以重新编译,有时候可能是卡住了
make -j$(nproc) make install# 安装完成后,OpenCV将被安装到 opencv/opencv-4.10.0/install 目录下
# 将其打包成 libopencv-4.10.0-Linux-aarch64.zip
mv install opencv-4.10.0
zip -r libopencv-4.10.0-Linux-aarch64.zip opencv-4.10.0
编译好的包
libopencv-4.10.0-Linux-aarch64.zip