Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.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
C++ 无法在OpenCV中运行SFM模块的程序_C++_Linux_Opencv_3d Reconstruction_Structure From Motion - Fatal编程技术网

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

C++ 无法在OpenCV中运行SFM模块的程序,c++,linux,opencv,3d-reconstruction,structure-from-motion,C++,Linux,Opencv,3d Reconstruction,Structure From Motion,当我试图在SFM模块中执行示例代码时,我遇到了一个错误。最初,SFM不在我的contrib目录中。因此,我下载了最新的contrib,并将sfm文件夹粘贴到我的contrib目录中。我使用了sfm模块中的CMakeLists.txt。 然后我试着用scene_recostruction.cpp和从sfm模块获取的CMakeLists.txt在我自己的目录中构建它。下面是我得到的错误 --C编译器标识为GNU5.4.0 --CXX编译器标识为GNU 5.4.0 --检查C编译器是否工作:/usr/

当我试图在SFM模块中执行示例代码时,我遇到了一个错误。最初,SFM不在我的contrib目录中。因此,我下载了最新的contrib,并将sfm文件夹粘贴到我的contrib目录中。我使用了sfm模块中的CMakeLists.txt。 然后我试着用scene_recostruction.cpp和从sfm模块获取的CMakeLists.txt在我自己的目录中构建它。下面是我得到的错误

--C编译器标识为GNU5.4.0 --CXX编译器标识为GNU 5.4.0 --检查C编译器是否工作:/usr/bin/cc --检查C编译器是否工作:/usr/bin/cc--works --检测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中找到所需的Ceres依赖项:Eigen版本3.2.92 --找到所需的Ceres依赖项:glog --在GOOGLE名称空间中执行测试GFLAGS --在GOOGLE名称空间中执行测试GFLAGS\u-成功 --找到所需的Ceres依赖项:gflags --发现Ceres版本:1.13.0安装在:/usr/local中,包含以下组件:[LAPACK、SuiteSparse、SparselineAralGebrary、CXSparse、SchurSpecializations、OpenMP] --正在检查SFM部门。。。真的 --模块opencv_sfm已禁用,因为未找到以下依赖项:Eigen CMakeLists.txt处的CMake错误:35(ocv\u模块\u禁用): 未知CMake命令“ocv\u模块\u禁用”。 CMakeLists.txt中的CMake警告(dev): 不存在所需的cmake_最小值_命令。一行代码,如 cmake_最低要求(3.5版) 应添加到文件的顶部。指定的版本可能更低 如果您希望支持此项目的旧CMake版本。更多 信息运行“cmake--帮助策略CMP0000”。 此警告适用于项目开发人员。使用-Wno-dev来抑制它。 --配置不完整,出现错误


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

我建议您安装必需的依赖项,如Egen、Google log、Google Flags和Ceres,并为您的opencv下载相应的opencv\u 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文件,如果安装正确,它应该可以工作

有关更多信息,请访问: