2017-10-27 71 views
2

私はopencvライブラリの初心者です。私はUbuntu 17.04にインストールしました。インストール中のすべてが完璧でした。エラーはまったくありませんでした。 OpenCv-masterをインストールしてビルドした後、opencv_contrib-masterをダウンロードしてビルドフォルダに追加しました。致命的なエラー:opencv2/sfm.hpp:そのようなファイルやディレクトリはありません#include <opencv2/sfm.hpp>

SFM(動きの構造)を使ってscene_reconstructionを構築しようとしています。

sudo apt-get install libeigen3-dev libgflags-dev libgoogle-glog-dev 

その後、私はインストールしたセレスソルバー:私はすべての依存関係をインストールした

git clone https://ceres-solver.googlesource.com/ceres-solver 
cd ceres-solver 
mkdir build && cd build 
cmake .. 
make -j4 
make test 
sudo make install 

すべてがOKだった、エラーなしですべて。 私はexample_sfm_scene_reconstruction.cppを書いてみました。ここからの公式文書(Tutorial Scene Reconstruction)に従ってください。 opencv2/sfm.hpp:そのようなファイルやディレクトリはありません screenshot

英語バージョンが致命的なエラーです:cmake .そこに何らかのエラーがありませんでしたが、私はmakeをしようとするとき、私はこのエラーをしたと

#include

多分、パスが正しくないか、私は何を考えるべきか分かりません。

ありがとうございます!

答えて

1

OpenCV ReleaseをContrib Releaseと共にビルドする必要があります。 ContribのリポジトリでのOpenCVをビルドするには、cmakeのにパラメータを追加する必要があります:私は、マスターブランチをチェックアウトするとは対照的に、安定したOpenCVのバージョン(例えば3.3.1)を取得をお勧めします

cd <opencv_build_directory> 
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory> 
make -j5 

を。 contribが同じバージョンであることを確認してください。あなたが全くわからない場合は、ここの指示に従ってください: https://github.com/opencv/opencv_contrib

また、opencvをコンパイルする前に、sfmモジュールの依存関係が必要です。

+0

私はそれをしました: cmake -DOPENCV_EXTRA_MODULES_PATH = opencv_contrib-master/modules .. 次にmake -j5を実行しますが、エラーは同じです。私はsfmのすべての依存関係を持っています。たぶん私は.cppが間違っているパスですか? 私はopencv 3.3.1をインストールしました。 –

関連する問題