【发布时间】:2017-11-02 13:13:16
【问题描述】:
我是 opencv 库的初学者。我已经在 Ubuntu 17.04 上安装了它,安装过程中的一切都很完美,完全没有错误。我已经安装了 Opencv-master,构建了它,然后我下载了 opencv_contrib-master,一切都很完美..
我正在尝试使用 SFM(运动结构)构建 scene_reconstruction。我已经安装了所有依赖项:
sudo apt-get install libeigen3-dev libgflags-dev libgoogle-glog-dev
然后我安装了 Ceres Solver:
git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
mkdir build && cd build
cmake ..
make -j4
make test
sudo make install
一切正常,完全没有错误。我尝试按照此处 (Scene Reconstruction) 的官方文档编写 example_sfm_scene_reconstruction.cpp,并将其命名为 Reconstruct.cpp。
我编写了 CMakeLists.txt 文件:
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project( Reconstruct )
include_directories( /usr/local/include/eigen3 )
find_package( OpenCV REQUIRED )
find_package( Eigen3 REQUIRED )
add_executable( Reconstruct Reconstruct.cpp )
target_link_libraries( Reconstruct ${OpenCV_LIBS})
我已经创建了构建目录并使用mkdir build && cd build 打开它。
然后cmake ..:
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr/local (found version "3.3.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/simocolna/Scrivania/SFM/build
但是当我尝试做make 时,我遇到了这个错误:
error: ‘reconstruct’ was not declared in this scope
econstruct(images_paths, Rs_est, ts_est, K,
points3d_estimated,is_projective);
我尝试关注这个论坛issue 476,但对我有帮助。
【问题讨论】:
-
尝试在您的 CMakeLists.txt 中添加
find_package( Ceres REQUIRED )。如果未找到 ceres,则重建标头将不包含在 sfm 中 -
谷神星被发现。该指令的结果是:
Found required Ceres dependency: gflags -- Found Ceres version: 1.13.0 installed in: /usr/local with components: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP]
标签: c++ opencv ubuntu cmake ceres-solver