无法在linux上构建opencv_contrib模块

时间:2017-08-09 18:27:26

标签: c++ linux opencv

我尝试使用linux上的opencv_contrib中的xfeatures2d模块构建OpenCV,但我无法构建任何额外的模块。这是我尝试过的(我基本上遵循了我在网上和opencv_contrib中的README文件中找到的说明):

  1. 从github下载opencv和opencv_contrib:
  2.   

    $ git clone https://github.com/opencv/opencv.git

         

    $ git clone https://github.com/opencv/opencv_contrib.git

    1. 创建构建目录:
    2.   

      $ cd~ / opencv

           

      $ mkdir release

           

      $ cd release

      1. 正在运行cmake:
      2.   

        $ cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D OPENCV_EXTRA_MODULES_PATH = .. / .. / opencv_contrib / modules -D WITH_LIBV4L = on -D WITH_GSTREAMER = on -D WITH_OPENGL = on -D WITH_VTK = on -D BUILD_EXAMPLES = ON -D WITH_GTK = on -D WITH_QT = on ..

        我已经指定了opencv_contrib / modules的路径(也尝试使用绝对路径但没有区别)并且我确定这是正确的路径。 CMake似乎运行没有错误,但它不想构建额外的模块。这是cmake输出:

          

        - OpenCV模块:

             

        - 待构建:core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d java stitching videostab python2

             

        - 已禁用:世界

             

        - 依赖性禁用: -

             

        - 不可用:cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev python3 viz

        我只有"标准"模块,但没有来自opencv_contrib ...如果我在这一点上构建库,我只得到"标准"库(正如预期的那样)。我试图通过添加-D BUILD_opencv_xfeatures2d = ON来显式启用xfeatures2d,我也尝试不构建示例但没有任何效果。

        有人看到我做错了吗?

        感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我几周前使用的是来自OpenCV 3.2的资源,所以我从github(这次是OpenCV 3.3)重新下载并按照我在第一篇文章中描述的相同步骤重新安装并且它有效!

也许我有一些“坏”版本的OpenCV 3.2带有一些偷偷摸摸的不兼容问题。