如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib_3d

本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib。

OpenCV的源码主要有下面两部分:

  • github.com/opencv/opencv (主仓库)
  • github.com/opencv/opencv_contrib (包含了一些比较新的、不太稳定的、实验性的模块)

编译之前需从Github上下载最新的Release(当前最新的版本为4.5.1)

下面来看一下如何编译安装OpenCV。

安装之前,首先需要安装一些依赖

$ sudo apt install pkg-config cmake libgtk2.0-dev # 安装之前需要安装一些OpenCV的依赖

解压下载的源码zip文件,然后创建一个build文件夹

$ cd ./opencv
$ mkdir build && cd build

接下来使用cmake生成makefile

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D BUILD_opencv_xfeatures2d=OFF \ # 这个模块开启时会自动下载一些模型,有些模型在国外服务器,如果用不到里面的算法,这里不推荐打开。
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D ENABLE_NEON=ON \ # NEON指令是针对ARM平台的加速指令,在ARMv7及以上支持
      -D WITH_TENGINE=ON \ # Tengine是专门针对ARM平台的DNN后端,能够加速DNN模块,此选项打开之后需要保持开发板联网
      -D OPENCV_GENERATE_PKGCONFIG=ON \ # 此选项方便调用OpenCV库
      -D OPENCV_ENABLE_NONFREE=ON \
      -D OPENCV_PYTHON3_INSTALL_PATH=/usr/lib/python3/dist-packages \ # 这里需要修改成你的开发板上对应的位置
      -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv/opencv_contrib/modules \ # 这里需要修改成你的opencv_contrib所在目录
      -D PYTHON_EXECUTABLE=/usr/bin/python3.7 \ # 这里需要修改成你Python所在的目录,将会自动安装python版本的OpenCV库
      -D BUILD_EXAMPLES=ON ..

接着就可以进行编译安装了

$ make -j8  # 在我的树莓派4上耗时2小时
$ sudo make install

上面的步骤完成后,可以测试一下OpenCV是否安装成功。

Python:

>>> import cv2
>>> print(cv2.__version__# 如果能够正确打印OpenCV版本,恭喜你,安装成功!

C++:

cd ./opencv/samples/cpp/example_cmake/build
./opencv_example # 当你从屏幕中看到一张帅气的脸,说明安装成功!(注:需要摄像头才能看到帅气的脸)!

或者,你也测试运行一下世界上最快的人脸检测算法libfacedetection给出的OpenCV DNN的例子,看看OpenCV是否安装成功:https://github.com/ShiqiYu/libfacedetection/tree/master/example/opencv_dnn/cpp

本文仅做学术分享,如有侵权,请联系删文。


如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib_3d_02

▲长按关注公众号