2017-06-12 69 views
0

我在嘗試在SFM模塊中執行示例代碼時出現錯誤。最初SFM不在我的contrib目錄中。所以我下載了最新的contrib,並在我的contrib目錄中粘貼了sfm文件夾。我使用了sfm模塊中的CMakeLists.txt。 然後我試圖在我自己的目錄中使用scene_reconstruction.cpp和我從sfm模塊獲取的CMakeLists.txt創建它。以下是我得到無法在OpenCV中運行SFM模塊的程序

錯誤 - C編譯器識別爲GNU 5.4.0 - 的CXX編譯器識別爲GNU 5.4.0 - 檢查工作的C編譯器:在/ usr/bin/cc這個 - 檢查工作的C編譯器:在/ usr/bin/cc這個 - 工程 - 檢測C編譯器ABI資訊 - 檢測C編譯器ABI資訊 - 做 - 檢測ç編譯功能 - 檢測C編譯特性 - 完成 - 檢查工作CXX編譯器:/ usr/bin/C++ - 檢查工作CXX編譯器:/ usr /斌/ C++ - 工程 - 檢測CXX編譯器ABI資訊 - 檢測CXX編譯器ABI資訊 - 做 - 檢測CXX編譯功能 - 檢測CXX編譯功能 - 做 - 發現本徵的安裝版本:/usr/lib目錄/ cmake的/ eigen3 - 找到所需的穀神星的依賴:徵版92年2月3日在/ usr/include中/ eigen3 - 找到所需的穀神星的依賴:考勤記錄 - 執行測試GFLAGS_IN_GOOGLE_NAMESPACE - 執行測試GFLAGS_IN_GOOGLE_NAMESPACE - 成功 - 找到需要的Ceres依賴:gflags - 找到Ceres版本:1.13.0安裝在:/ usr/local與組件:[LAPACK,SuiteSparse,SparseLinearAlgebraLibrary,CXSparse,SchurSpec ializations,OpenMP的] - 檢查SFM DEPS ... TRUE - 模塊opencv_sfm禁用,因爲以下依賴性都沒有發現:本徵 CMake的錯誤在的CMakeLists.txt:35(ocv_module_disable): 未知的CMake命令 「ocv_module_disable」。 CMakeLists.txt中的CMake Warning(dev): 不存在cmake_minimum_required命令。應該在文件的頂部添加一行代碼,如 cmake_minimum_required(VERSION 3.5) 。如果您希望爲此項目支持較早的CMake版本,則指定的版本可能會較低 。有關更多 信息,請運行「cmake --help-policy CMP0000」。 此警告適用於項目開發人員。使用-Wno-dev來抑制它。 - 配置不完整,發生錯誤!

PS:我從出發前的SFM文檔頁面中提到的庫的所有必需下載去了。

回答

0

我建議你安裝所需的依賴像徵,谷歌日誌,谷歌的標誌,和穀神星與

-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules 

下載對應的版本opencv_contrib爲您的OpenCV,並建立它,並使用下面的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

https://github.com/opencv/opencv_contrib/issues/476