介绍OpenCV_contrib的安装方法。

0 前言

在做基于深度学习的机器人无序分拣项目中,用到了Realsense,使用该相机做图像处理的相关工作还需要安装opencv_contrib。可以从GitHub上找到与opencv版本相对应的opencv_contrib库。

1 安装方法

下载完源码后,将解压后的文件放在opencv3.4.1文件夹中,依次执行下列命令:

1
2
3
4
5
cd opencv3.4.1文件夹
cd build
cmake -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.1/modules ../../opencv-3.4.1 ..
make -j4
sudo make install

2 可能遇到的一些问题

不出意外的话,直接编译会出现一些问题,例如:
01

在这里,直接给出我针对出现的问题进行的三步操作:

  1. 打开opencv-3.4.1文件夹下的CMakeLists.txt,添加包含目录,如下图所示。
    02

  2. 对于opencv2/xfeatures2d/cuda.hpp: No such file or directory 类问题的解决方法是:将文件中的路径更改为绝对路径[1]
    如报错如下:

    1
    2
    3
    4
    5
    /usr/local/arm/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp:42:10: 
    fatal error: /opencv2/xfeatures2d.hpp: No such file or directory
    #include "/opencv2/xfeatures2d.hpp"

    compilation terminated.

    根据给的路径找到xfeature2d.hpp的文件并打开,找到第42行如下:

    1
    2
    3
    4
    40 #ifndef __OPENCV_XFEATURES2D_HPP__
    41 #define __OPENCV_XFEATURES2D_HPP__

    42 #include"/opencv2/xfeatures2d.hpp

    将第42行中的路径修改为绝对路径。所有找不到的都可以按这种方法解决。

  3. 对于boostdesc_bgm.i的问题,直接下载到需要的文件夹,如下所示[1]
    03
    这些文件的下载地址:
    链接:https://pan.baidu.com/s/1pv2P8jn14im9IUDGorIuFg
    提取码:2jnr

参考链接

  1. https://blog.csdn.net/weixin_44152895/article/details/102882502
  2. https://blog.csdn.net/u012321968/article/details/106654012/
  3. https://github.com/heyvision/Documents/blob/master/Install_procedure.md