OpenCV3.3.0でsfmモジュールのビルドに成功!

OpenCVバージョン3.3.0がついに正式リリースされましたね。

OpenCV 3.3.0

OpenCV 3.3 has been released with greatly improved Deep Learning module and lots of optimizations.

dandelionさんがChange Logsを日本語訳しています↓
https://github.com/atinfinity/lab/wiki/OpenCV-Change-Logs%EF%BC%88%E6%84%8F%E8%A8%B3%EF%BC%89#3.3

ということで、さっそくsfmモジュールのビルドですね!(←しつこい)
結論から言うと、今回ついにビルドに成功しました。決め手はCMAKE_DEBUG_POSTFIXだった。

これまで何度も挑戦しては失敗してきたのだ…


OpenCV 3.1のsfmモジュールを試す
以前Visual Studio2015環境でビルドに挑戦して、サンプルコードを試す前に力尽きてしまったのだけど。。。QiitaのOpenCV Advent Calendar 2016で良記事がアップされたので再び真似してやってみる。@...

OpenCV 3.1のsfmモジュールのビルド再び
性懲りもなくまだやってます。(作業メモ的な記事なので読みづらいです)前回、sfmモジュールのビルドでgflagsのリンクが上手くいかったので、その対処を考える。前回はglogをビルドする時にgflagsが有効になっていなかった。gl...

OpenCV 3.3.0-RCでsfmモジュールをビルド
OpenCVのsfmモジュールのビルドが諦められずにまた挑戦したメモです(笑) もう4度目ですね。(そして1年以上も…) OpenCV3.1の頃からWindows環境でsfmモジュールを有効にするには一工夫必要なのが分か...



スポンサーリンク

ビルド

今回もビルド環境はこちら。VC14でx64ビルド。

  • Windows 10 Pro
  • Visual Studio Community 2015
  • CMake 3.8.2

使用した依存ライブラリのバージョンは以下。この順にビルドしていく。

  1. Eigen 3.3.4
  2. gflags 2.2.1
  3. google-glog 0.3.5
  4. suitesparse-metis-for-windows-1.3.1
  5. ceres-solver-1.12.0
  6. VTK-8.0.0
  7. opencv-3.3.0, opencv_contrib-3.3.0

これまでと同様、こちらの記事を参考にした。↓
http://qiita.com/ChaoticActivity/items/3888e886925ef0f84926

各ライブラリのバージョンが新しくなったことで手間がだいぶ減って楽になった。


スポンサーリンク

Eigen

3.2.10を普通にcmakeして、Visual Studioでバッチビルド(ALL_BUILD, INSTALL)した。

Gflags

gflagsはcmakeで
BUILD_SHARED_LIBS
BUILD_STATIC_LIBS
にチェックを入れ、さらに
CMAKE_DEBUG_POSTFIX
を追加し、Stringパラ―メータ’d’を設定しておいた。

glogもそうだが、前回までこれを設定していなかったのでビルドに失敗していたのだ。デフォルトだと、gflagsとglogはDebugビルドとReleaseビルドで出力されるlibファイル名が同じなので上書きされてしまうのだ。
後はGenerateして、Visual Studioでバッチビルド(ALL_BUILD, INSTALL)した。

Glog

同梱のgoogle-glog.slnファイルは使わず、cmakeを使う。
先ほどビルドしたGflagsはまだここでは指定しない。
Gflagsと同様に、
CMAKE_DEBUG_POSTFIX
を追加し、Stringパラ―メータ’d’を設定してGenerateしてVisual Studioでバッチビルド(ALL_BUILD, INSTALL)した。

suitesparse-metis-for-windows

suitesparse-metis-for-windowsは一部コードを書き換える。
metis/GKlib/gk_arch.hの61行目から

となっているが、Visual Studio 2015環境でこの定義は不要なのでコメントアウト。(消しちゃっても良いんだけど)

cmakeの設定はデフォルトのままでOK。

Ceres-Solver

CeresSolverは最新の1.13.0ではなく、1.12.0を使った。
ビルドに時間がかかるので、cmakeの設定で不要な
BUILD_EXAMPLES
BUILD_TESTING
のチェックは外しておく。

先ほどビルドしたglog, gflags, suitesparse-metis-for-windowsを指定し、GenerateしてVisual Studioでバッチビルド(ALL_BUILD, INSTALL)した。

VTK

基本はデフォルトのまま、ここを参考に↓
https://gist.github.com/UnaNancyOwen/9d16060714ba9b28f90e#file-vtk8-0-0-md

CMAKE_DEBUG_POSTFIX
に”-gd”を追加した。

OpenCV

cmakeで
OPENCV_EXTRA_MODULES_PATH
opencv_contrib-3.3.0/modules/
を追加。
WITH_CUDA
はチェックを外しておく。
GenerateしてOpenCV.slnを開いてバッチビルド。

さあ、やっとここへ辿り着いたぞ。
http://qiita.com/ChaoticActivity/items/178d23508b92a09e59ea

疲れた。。。


スポンサーリンク

関連記事

Mayaのレンダリング アトリビュート
AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
Structure from Motion (多視点画像からの3次元形状復元)
iOSデバイスのためのフィジカル・コンピューティングツールキット『konashi(こなし)』
オープンソースの取引プラットフォーム
UnityのGlobal Illumination
WordPressのテーマを自作する
MeshroomでPhotogrammetry
ポイントクラウドコンソーシアム
SSII2014 チュートリアル講演会の資料
Kinect for Windows v2の日本価格決定
フォトンの放射から格納までを可視化した動画
iOSデバイスと接続して連携するガジェットの開発方法
オープンソースのSLAMライブラリ『Cartographer』
CGのためのディープラーニング
AfterEffectsプラグイン開発
写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
コンピュータビジョンの技術マップ
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
ZBrushでカスタムUIを設定する
オーバーロードとオーバーライド
openMVGをWindows10 Visual Studio 2015環境でビルドする
池袋パルコで3Dのバーチャルフィッティング『ウェアラブル クロージング バイ アーバンリサーチ』
ディープラーニング
このブログのデザインに飽きてきた
海外ドラマのChromaKey
Pythonのソースコードに特化した検索エンジン『Nullege』
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
オープンソースのプリント基板設計ツール『KiCad』
ROSの薄い本
第1回 3D勉強会@関東『SLAMチュートリアル大会』
OpenCVの超解像処理モジュール『Super Resolution』
Unityで使える数値計算ライブラリ『Math.NET Numerics』
3Dデータ処理ライブラリ『Open3D』
マルコフ連鎖モンテカルロ法
.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
ZScript
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

コメント