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