Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将opencv_contrib构建到现有的opencv文件夹中?_Opencv - Fatal编程技术网

如何将opencv_contrib构建到现有的opencv文件夹中?

如何将opencv_contrib构建到现有的opencv文件夹中?,opencv,Opencv,我知道这些都有描述,但我不清楚应该在哪里构建这个opencv_contrib源代码 让我们假设我已经从中安装了OpenCV 3.2,并在解压缩后将其显示为: 现在,第二步: 选择opencv源代码文件夹和将生成二进制文件的文件夹 哪个是源文件夹?我应该把它放在我的OpenCV安装文件夹中,还是需要从其他地方获取它?我应该在哪里建造它?在我的例子中,它是不是,/Documents/OpenCV/OpenCV/build?我通常做的是直接从源代码构建OpenCV,但它应该与预构建的归档大致相同 使

我知道这些都有描述,但我不清楚应该在哪里构建这个opencv_contrib源代码

让我们假设我已经从中安装了OpenCV 3.2,并在解压缩后将其显示为:

现在,第二步:

选择opencv源代码文件夹和将生成二进制文件的文件夹


哪个是源文件夹?我应该把它放在我的OpenCV安装文件夹中,还是需要从其他地方获取它?我应该在哪里建造它?在我的例子中,它是不是,
/Documents/OpenCV/OpenCV/build

我通常做的是直接从源代码构建OpenCV,但它应该与预构建的归档大致相同

使用CMake gui工具:

  • 其中是源代码:包含OpenCV源代码和
    CMakeLists.txt
    文件的目录(在您的示例中,是屏幕截图中的
    sources
    文件夹)
  • 构建二进制文件的位置:您选择的目录(在您的情况下是
    build
    目录或另一个目录,如果需要)
  • 在CMake中,标志
    OPENCV\u EXTRA\u MODULES\u PATH
    应指向contrib源的
    MODULES
    目录

    • OpenCV官方下载没有附带额外模块。您需要下载zip文件或使用git将其克隆到源目录,例如在您的案例中,从
      /Documents/OpenCV/OpenCV/OpenCV_contrib
      。然后,在CMake中,将
      OPENCV\u EXTRA\u MODULES\u PATH
      指向
      /Documents/OPENCV/OPENCV/OPENCV\u contrib/MODULES

      FaceRecognizer
      位于OpenCV贡献的
      face
      模块下。

      我的构建:

      cd ~/opencv
      mkdir build
      cd build
      
      cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules  .. 
      make -j7
      make install
      
      ../../opencv_contrib/modules是已贡献模块目录的目录
      .. 是opencv源根目录吗

      谢谢,这正是其中应该描述的内容,但是,尽管构建已成功完成,但我找不到应该在opencv_contrib项目中的FaceRecognitor类。你知道这方面的情况吗?你可以在中找到
      cv::face::FaceRecognizer
      。解释得很好的答案!