Я получаю сообщение об ошибке при попытке выполнить пример кода в модуле SFM. Первоначально SFM не присутствовал в моем справочном каталоге. Поэтому я скачал последнюю версию contrib и вставил папку sfm в мою папку contrib. Я использовал CMakeLists.txt, который присутствовал в модуле sfm.
Затем я попытался собрать его в своем собственном каталоге с помощью scene_reconstruction.cpp и CMakeLists.txt, которые я взял из модуля sfm. Вот ошибка, которую я получаю
— Идентификатор компилятора C — GNU 5.4.0
— Идентификатор компилятора CXX — GNU 5.4.0
— Проверьте работающий компилятор C: / usr / bin / cc
— Проверить работающий компилятор C: / usr / bin / cc — работает
— Обнаружение C-компилятора ABI info
— Обнаружение информации ABI компилятора C — сделано
— Обнаружение функций компиляции C
— Обнаружение функций компиляции C — сделано
— Проверьте работающий компилятор CXX: / usr / bin / c ++
— Проверить работоспособность компилятора CXX: / usr / bin / c ++ — работает
— Обнаружение CXX компилятора ABI info
— Обнаружение информации ABI CXX компилятора — сделано
— Обнаружение функций компиляции CXX
— Обнаружение функций компиляции CXX — сделано
— Найдена установленная версия Eigen: / usr / lib / cmake / eigen3
— Найдена необходимая зависимость Ceres: собственная версия 3.2.92 в / usr / include / eigen3
— Найдена необходимая зависимость от Цереры: glog
— Выполнение теста GFLAGS_IN_GOOGLE_NAMESPACE
— Выполнение теста GFLAGS_IN_GOOGLE_NAMESPACE — Успех
— Найдена необходимая зависимость Ceres: gflags
— Найдена версия Ceres: 1.13.0, установленная в: / usr / local с компонентами: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP] — Проверка SFM депс … ИСТИНА
— Модуль opencv_sfm отключен, так как не найдены следующие зависимости: Eigen
CMake Ошибка в CMakeLists.txt: 35 (ocv_module_disable):
Неизвестная команда CMake «ocv_module_disable».
CMake Предупреждение (dev) в CMakeLists.txt:
Команда cmake_minimum_required отсутствует. Строка кода, такая как
cmake_minimum_required (ВЕРСИЯ 3.5)
должны быть добавлены в верхней части файла. Указанная версия может быть ниже
если вы хотите поддержать более старые версии CMake для этого проекта. Для большего
информационный прогон «cmake —help-policy CMP0000».
Это предупреждение для разработчиков проектов. Используйте -Wno-dev, чтобы подавить его.
— Настройка неполная, ошибки произошли!
PS: я прошел все необходимые загрузки библиотек, упомянутых на странице документации SFM, прежде чем начать.
Я предлагаю вам установить необходимые зависимости, такие как Eigen, Google log, Google Flags и Ceres, скачать соответствующую версию opencv_contrib для вашего opencv и собрать ее с
-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
а также
Других решений пока нет …