2016年1月6日水曜日

ubuntu 14.04上でsfmを試してみた その1

opencv_contribのモジュールをいろいろ試してみようと考えているが、日本語のドキュメントなどはなく、各モジュールがどのようなものか今ひとつ感じがつかめない。

sfmは、複数の画像から3次元情報を取得するためのものとわかっていたが、以前からsfmのソースのビルドを試みたが、幾度が挫折した。

今回3.1がリリースされ、OpenCVでのビルドが一応保証されるようになったので、ビルドを試みてみたが、それでも苦戦した。

ビルド方法は、ここにある。

依存関係に関して

必須:
  • Eigen 3.2.2 以降
  • GLog 0.3.1 以降
  • GFlags.
オプション
  • Ceres Solver. Bundle Adjustmentをとくために必要 (ないと再構築の機能が無効化される)

 事前準備

ターミナルで以下のコマンドを実行する

sudo apt-get install libeigen3-dev libgflags-dev libgoogle-glog-dev libatlas-base-dev libsuitesparse-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


makeテストの結果

66/67 Test #66: visibility_based_preconditioner_test ........   Passed    0.00 sec
      Start 67: system_test
67/67 Test #67: system_test .................................   Passed    0.01 sec

100% tests passed, 0 tests failed out of 67


OpenCVのビルド

この後OpenCV+contribをビルドする


カメラ軌跡推定のsampleプログラムの実行

解説はここ

自分でopencv_contrib-3.1.0/modules/sfm/samplesのtrajectory_reconstruccion.cppをビルドを試みたが、ここでハマってしまった。

まず、表示のためにVizが必要であるが、Installation in Linuxの説明では、Vizはビルドされない。


以下続く

0 件のコメント:

コメントを投稿