ubuntu18.04系统,opencv3.4.9+contrib完全安装指南

  • 0.官方教程
  • 1.下载
  • 2.安装依赖
  • 3.安装cmake-gui(非必须)
  • 4.选择opencv资源包与工程文件放置目录(build目录)
  • 5.点击configure,选择第一项
  • 6.重要选项
  • 7.再次点击configure,这里注意看详情页里面有哪些错误,主要是下载错误,错误解决方案见下文
  • 8.没有错误后,点击generation
  • 9.进入build文件夹
  • 10.opencv安装完成
  • 11.配置动态链接库
  • 12.测试
  • 13.问题汇总
  • 13.1 "opencv2/xfeature2d/cuda.hpp",找不到文件
  • 13.2 cvShowImage问题,描述如下。
  • 13.3 Cmake-gui详情页出现boostdesc_bgm.i等错误。
  • 13.4 Cmake-gui详情页出现face_landmark_model.dat错误
  • 13.5 IPPCV、ffmpeg等问题
  • 13.6 Failed to load module "canberra-gtk-module"
  • 最后-下载


0.官方教程

opencv官方安装教程

1.下载

在opencv官网或者github上下载资源包,若下载速度缓慢,可以选择在开源中国的码云下载镜像包,opencv与opencv_contrib版本号需要一致

opencv 使用ndk编译_opencv


码云下载链接:码云opencv

2.安装依赖

这部分参考opencv官方教程,可以只安装必须项

opencv 使用ndk编译_linux_02

3.安装cmake-gui(非必须)

sudo apt install cmake-qt-gui

4.选择opencv资源包与工程文件放置目录(build目录)

opencv 使用ndk编译_2d_03

5.点击configure,选择第一项

opencv 使用ndk编译_2d_04

6.重要选项

  • CAMKE_INSTALL_PREFIX:库最终安装目录
  • OPEN_EXTRA_MODULES_=PATH:选择contrib里面的modules

7.再次点击configure,这里注意看详情页里面有哪些错误,主要是下载错误,错误解决方案见下文

8.没有错误后,点击generation

opencv 使用ndk编译_ubuntu_05

9.进入build文件夹

make -j8 // 8代表处理器线程
sudo make install

10.opencv安装完成

opencv 使用ndk编译_opencv_06

11.配置动态链接库

opencv 使用ndk编译_ubuntu_07


opencv 使用ndk编译_opencv 使用ndk编译_08


opencv 使用ndk编译_2d_09


opencv 使用ndk编译_linux_10

12.测试

cmake..
make

opencv 使用ndk编译_opencv_11


opencv 使用ndk编译_opencv 使用ndk编译_12

13.问题汇总

13.1 “opencv2/xfeature2d/cuda.hpp”,找不到文件

解决办法: 在CMakeLists.txt增加以下内容,下图是CmakeLists.txt位置。

INCLUDE_DIRECTORIES("你的文件夹/opencv_contrib-3.4.9/modules/xfeatures2d/include")

opencv 使用ndk编译_opencv_13


opencv 使用ndk编译_opencv 使用ndk编译_14

13.2 cvShowImage问题,描述如下。

If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage.

解决办法: 目前了解到的办法为重装opencv,目前了解到的出现该问题的原因是没有安装依赖,所以先卸载opencv,然后依赖安装好之后,cmake可以看到GTK+已经安装好了。

sudo make uninstall   // 进入build文件夹
cd ..
rm -r build  // 删除build文件夹
rm -r opencv_installed  // 删除库文件安装文件夹

opencv 使用ndk编译_2d_15

13.3 Cmake-gui详情页出现boostdesc_bgm.i等错误。

opencv 使用ndk编译_ubuntu_16


解决办法: 这实际上的文件下载出错问题。进入build文件夹,我的是/home/fzy/openCV3.4.9/build,打开CMakeDownloadLog.txt,可以看到如下图所示:

opencv 使用ndk编译_opencv_17


因此只需要将这些文件放到对应的文件夹里就OK了,我的文件夹如下:

/home/fzy/openCV3.4.9/build/downloads/xfeatures2d/

opencv 使用ndk编译_opencv 使用ndk编译_18

13.4 Cmake-gui详情页出现face_landmark_model.dat错误

opencv 使用ndk编译_opencv 使用ndk编译_19


解决办法: CMakeDownloadLog.txt可以看到如下内容,因此只需要将文件放到指定文件夹即可。

opencv 使用ndk编译_ubuntu_20


opencv 使用ndk编译_ubuntu_21

13.5 IPPCV、ffmpeg等问题

解决办法: 参考如下文档,写的比较详细,就不搬运了,文件的版本需要匹配,具体看文档,如果你是3.4.9的版本,或者文件版本相同,可以直接点击下面的下载链接。

自己编译安装OpenCV (linux/windows)

opencv 使用ndk编译_linux_22

13.6 Failed to load module “canberra-gtk-module”

解决办法:

sudo apt-get install libcanberra-gtk-module