使用sfm模块问题构建opencv

时间:2020-06-14 14:44:24

标签: opencv cmake vtk opencv-contrib ceres-solver

我正在尝试使用已构建并安装了gflags,然后是glog和ceres-solver的sfm模块来构建opencv。但make日志显示:模块opencv_sfm已禁用,因为未找到以下依赖项:Glog / Gflags 。即使在较早的几行中,它也说可以找到这些目录。

我也已经构建并安装了VTK,尽管由于某些原因,即使我手动选择构建目录也找不到它。

以下是我的CMake日志的相关部分:

找不到

VTK。请在CMake中将-DVTK_DIR设置为VTK构建目录,或使用VTKConfig.cmake文件将其设置为VTK安装子目录

OpenCV Python:在开发过程中附加到PYTHONPATH:C:/DEV/opencv-4.2.0/builds/python_loader

咖啡:不

Protobuf:不

Glog:是

freetype2:不

harfbuzz:不

模块opencv_ovis被禁用,因为未找到OGRE3D

没有使用导出的gflags CMake配置集的偏好,也没有提供包含/库目录的提示。默认情况下,首选安装/导出的gflags CMake配置。

找到已安装的gflags版本:C:/ Program Files(x86)/ gflags / lib / cmake / gflags

检测到的gflags版本:2.2.2

检查SFM部门...错误

模块opencv_sfm已禁用,因为未找到以下依赖项:Glog / Gflags

1 个答案:

答案 0 :(得分:0)

我设法使SFM模块最终得以编译。我并不能100%地解决它,但是我做了以下事情:我删除了gflags,glog和ceres-solver的所有版本。我下载了较旧的ceres-solver(1.14)和VTK(8.2.0)。早期版本可能与使用opencv4.2和python 3.7有关。

我将带有egen的gflags和glog放在ceres-solver文件夹中。然后使用CMake和Visual Studio 2019在调试和发布中构建并安装了gflags。 glog(链接到gflag)仅在发行版中。最后,我构建并安装了链接到glog,gflags和本征的ceres-solver。遵循本教程:http://sylvain.duchene.im/how-to-build-ceres-under-windows/

然后,当我使用CMake通过contribs库构建openCV4.2时,我发现了sfm模块和VTK。