Я новичок в библиотеке opencv. Я установил его на Ubuntu 17.04, и все, что было во время установки, было совершенным, без ошибок. Я установил Opencv-master, построил его, затем загрузил opencv_contrib-master и все было идеально.
Я пытаюсь построить scene_reconstruction с помощью SFM (структура для движения). Я установил все зависимости с помощью:
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
Все было в порядке, никаких ошибок. Я попытался написать 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);
Я попытался следить за этой проблемой на форуме 476, но что-то мне помогло.
добавлять
#define CERES_FOUND 1
перед вашим кодом
find_package( Ceres REQUIRED )
в ваш CMakeLists.txt. Если ceres не найден, заголовки реконструкции не будут включены в sfmFound required Ceres dependency: gflags -- Found Ceres version: 1.13.0 installed in: /usr/local with components: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP]