无法在 OpenCV 中运行 SFM 模块的程序



当我尝试在SFM模块中执行示例代码时出现错误。最初,SFM 不存在于我的 contrib 目录中。所以我下载了最新的 contrib 并将 sfm 文件夹粘贴到我的 contrib 目录中。我使用了 CMakeLists.txt它存在于 sfm 模块中。 然后我尝试使用 scene_reconstruction.cpp 和 CMakeList 在我自己的目录中构建它.txt这是我从 sfm 模块中获取的。以下是我收到的错误

-- C 编译器标识是 GNU 5.4.0 -- CXX 编译器标识是 GNU 5.4.0 -- 检查工作 C 编译器:/usr/bin/cc -- 检查工作正常的 C 编译器:/usr/bin/cc -- 工作正常 -- 检测 C 编译器 ABI 信息 -- 检测 C 编译器 ABI 信息 - 完成 -- 检测 C 编译特性 -- 检测 C 编译特性 - 完成 -- 检查工作正常的 CXX 编译器:/usr/bin/c++ -- 检查工作正常的 CXX 编译器:/usr/bin/c++ -- 工作正常 -- 检测 CXX 编译器 ABI 信息 -- 检测 CXX 编译器 ABI 信息 - 完成 -- 检测 CXX 编译功能 -- 检测 CXX 编译功能 - 完成 -- 找到已安装的 Eigen 版本:/usr/lib/cmake/eigen3 -- 找到所需的谷神星依赖项:/usr/include/eigen3 中的特征版本 3.2.92 -- 找到所需的谷神星依赖项:glog -- 执行测试GFLAGS_IN_GOOGLE_NAMESPACE -- 执行测试GFLAGS_IN_GOOGLE_NAMESPACE - 成功 - 找到所需的谷神星依赖:gflags -- 找到 Ceres 版本: 1.13.0 安装于:/usr/local 组件: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP] -- 检查SFM部门真 -- 模块opencv_sfm禁用,因为找不到以下依赖项:特征 CMake Error at CMakeLists.txt:35 (ocv_module_disable): 未知的 CMake 命令"ocv_module_disable"。 CMakeLists.txt中的CMake Warning (dev): 不存在cmake_minimum_required命令。 一行代码,例如 cmake_minimum_required(3.5版) 应添加到文件顶部。 指定的版本可能更低 如果您希望支持此项目的旧 CMake 版本。 欲了解更多信息 信息运行"CMAKE --帮助策略CMP0000"。 此警告适用于项目开发人员。 使用 -Wno-dev 来抑制它。 -- 配置不完整,发生错误!

PS:在开始之前,我浏览了SFM文档页面中提到的库的所有必需下载。

我建议您安装所需的依赖项,例如Eigen,Google log,Google Flags和Ceres,并为您的opencv下载相应的opencv_contrib版本并构建它

-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules

并使用以下 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 2.8)
project( main )
find_package( OpenCV REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( main main.cpp )
target_link_libraries( main ${OpenCV_LIBS} )

假设你有main.cpp文件,如果你有正确的安装,它应该可以工作。

欲了解更多信息,请访问:

https://github.com/opencv/opencv_contrib/tree/master/modules/sfm

https://github.com/opencv/opencv_contrib/issues/476

相关内容

  • 没有找到相关文章

最新更新