c++ - fatal error : opencv2/sfm. hpp : no such file or directory #include <opencv2/sfm. hpp>

标签 c++ opencv cmake ubuntu-17.04 opencv-contrib

我是 opencv 库的初学者。我已经在 Ubuntu 17.04 上安装了它,安装过程中的一切都很完美,一点错误都没有。 我已经安装了 Opencv-master,构建了它,然后我下载了 opencv_contrib-master 并将其添加到构建文件夹中。

我正在尝试使用 SFM(运动结构)构建 scene_reconstruction。我已经安装了所有依赖项:

    sudo apt-get install libeigen3-dev libgflags-dev libgoogle-glog-dev

然后我安装了 Ceres 求解器:

git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
mkdir build && cd build
cmake ..
make -j4
make test
sudo make install

一切正常,完全没有错误。 我尝试按照此处的官方文档 (Tutorial Scene Reconstruction) 编写 example_sfm_scene_reconstruction.cpp。

使用 cmake . 没有任何错误,但是当我尝试执行 make 时出现此错误: screenshot

英文版是fatal error: opencv2/sfm.hpp: no such file or directory #include

可能路径不对或者不知道怎么想。

谢谢!

最佳答案

您必须将 OpenCV 版本与 Contrib 版本一起构建。要使用 Contrib 存储库构建 OpenCV,您必须向 cmake 添加一个参数:

cd <opencv_build_directory>
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
make -j5

我建议获得稳定的 opencv 版本(例如 3.3.1),而不是检查主分支。确保 contrib 是相同的版本。如果您完全不确定,请按照此处的说明进行操作: https://github.com/opencv/opencv_contrib

此外,在编译 opencv 之前,您将需要 sfm 模块的依赖项。

关于c++ - fatal error : opencv2/sfm. hpp : no such file or directory #include <opencv2/sfm. hpp>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46975412/

相关文章:

c++ - CGAL 的 Delaunay 三角剖分文档

java - 如何使用opencv计算人脸识别的百分比格式预测置信度?

cmake - 从 `make` 中排除目标,但将其包含在 CMake 中的 `make all` 中

visual-studio - QT构建因NMAKE : fatal error U1077: 'echo' : return code '0x1' 而失败

python - 无法从python-opencv中的openni设备获取帧

cmake - 使用 CMake 和 CPack 的多个 debian 软件包的名称和描述

C++ Windows Phone 8 组件

c++ - 为什么非静态数据成员引用不是变量?

c++ - 仅使用 600 MB 内存时调整 QByteArray 的大小会抛出 std::bad_alloc

c - 在 C 中运行 opencv 代码时出现错误