2014年8月27日水曜日

OpenCV 3.0 alpha のubuntu 版でSIFTが利用できるよう修正した

OpenCV 3.0 alphaでは、SIFTはcontribに移され、ダウロードしたmainだけでなく、contribを加えてビルドしないといけいない

しかし、25日の時点では、git cloneで取得したプロジェクト一式をデフォルトに設定でビルドすると、SIFTが含まれているxfeatures2dの共有ライブラリが作成されないためSIFTを利用することができない

google先生に訪ねてみると、OpenCVのフォーラムで同じ症状の質問が投稿されている
質問に対し、コメントには、opencv_cudaarithmの依存関係を取り除けば良いとのこと

cmakeのログを確認してみると、
Module opencv_xfeatures2d disabled because opencv_cudaarithm dependency can't be resolved!
のメッセージが出力されていた


根本的な解決かわからないが、以下に対処を示す


  1. opencv_contrib/modules/xfeatures2d/CMakeLists.txtのバックアップを作成
  2. ディタでCMakeLists.txtファイルを開き、ocv_define_module から opencv_cudaarithm を削除する
  3. buildのディレクトリでcmakeを行う
  4. Makefileを開き、Target rules for targets named opencv_xfeatures2dのエントリができていることを確認
  5. あとはmakeを行いmake install とldconfigを行う


contirbはgit cloneで、masterブランチ(日々修正されている)から取得するので、今後上記対処は不要になるかもしれない

以上

0 件のコメント:

コメントを投稿