OpenCV 安装

在 Linux Ubuntu 18.04 下安装 OpenCV-3.4.5

编译前安装

这里安装一系列工具,具体看 OpenCV 的文档。

克隆源码

建议建一个 OpenCV 的工作目录,然后分别克隆 opencv 和opencv_contrib ,然后 git checkout -b my_branch 3.4.5 转到指定版本。这里是新建一个分支然后分支指向 3.4.5 版本。不创建分支的话,无法修改源码。然后建议在 opencv 文件家下创建 build 目录方便下一步cmake。
我的安装目录

用 CMake 生成 makefile

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=~/OpenCV/opencv_contrib/modules/ -DPYTHON2_EXECUTABLE=/usr/bin/python -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so -DPYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ ..

编译

make -j4 命令执行后会有很多报错。其中主要是 opencv_contrib 包里的 xfeatures2d 模块报错。错误主要又分为两种。

  1. 头文件路径不对,这种错误将头文件路径改成绝对路径就行。例如:
    头文件路径不对报错
    这种情况打开相应位置将路径改为 /home/lhx/OpenCV/opencv_contrib/modules/xfeatures2d/include/opencv2
  2. 一些需要 cmake 时下载的模块文件找不到。
    下载文件路径不对报错
    这时要将路径改为 cmake 下载文件的路径,例如:/home/lhx/OpenCV/opencv/build/downloads/xfeatures2d 可能还有一些文件 cmake 时还没下载下来,就要到 build 文件夹下的 CMakeDownloadsLog.txt 查看相应文件的下载地址。然后下载下来保存到上面这个目录。

最后就是安装

make install