2012年7月13日金曜日

[vc++]openCVビルド

これは大変・・・。
自分の知っている言語界隈はたいてい理解したつもりでも、
異なるプラットフォームになると何も知らなかった頃に戻る…。

ということで、
Windows7 32bit python2.7 環境でopenCVの環境構築メモ。
書いてる今はpythonでimport cv2 が成功する、までしか確認していませんので悪しからず。

参考にしました。
http://dokumaru.wordpress.com/2011/08/11/opencv-2-3-svn-%E3%82%92-python-%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/
http://volga.esys.tsukuba.ac.jp/~sat/2011/09/opencv-installing-memo/
http://cvwww.ee.ous.ac.jp/oc20inst.html#cmake
http://d.hatena.ne.jp/ksef-3go/20100813/1281692520
http://mecab.mine.nu/dokuwiki/doku.php?id=blog:2011:07:%E6%B3%A3%E3%81%8D%E3%81%9D%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89opencv_cvblob_on_python


前提

  • python2.7インストール済み
  • SVNクライアントインストール済み(TortoiseSVNとか)


無心にやるべきこと

  1. Microsoft Visual C++ 2010 Express をインストール
  2. CMakeをインストール
  3. SVNで http://code.opencv.org/svn/opencv/tags/2.3.1/opencv からソース取得(確実に動作させたいならバージョンあわせるべき。そのあとで最新にチャレンジしたほうがいいと思った。)ここではF:\opencvにDLした。
  4. CMake起動してBrowserSourceを3でDLした F:\opencv 、Browser Build は  F:\opencv \release とか適当なパスを指定。Configureを押して Visual Studio 10 を選択。  Configuring done  になって、赤色の項目があるので一応目を通して必要そうなものをチェックするとかしてみる。(あんまりしないほうがいいかもしれんけど)もう一度Configureを押下。そしてGenerateする。 Generating doneが表示されればOK。このとき、Python や NumPy をインストールしていないと BUILD_NEW_PYTHON_SUPPORT が表示されず、pythonのライブラリがビルドできないので注意。
  5. OpenCV.slnファイルをダブルクリックしてVS VC++ Expressを起動。
  6. 上のメニューの下くらいにアイコンが並んでるツールバーがあって、プルダウンにDebugとなっているところがあればReleaseに変える。デバッグビルドではなくリリースビルドに変えてる。デバッグビルドだとpython27_d.libがなくて怒られた。
  7. 左の方にあるソリューションエクスプローラーのALL_BUILDを選択して右クリック->ビルドを押下。ビルドが始まるので待つ。
  8. ========== ビルド: 19 正常終了、0 失敗、0 更新不要、0 スキップ ==========」みたいな表示で失敗がなければ多分ビルド成功。
  9. PYTHONPATH に F:\opencv\release\bin\ReleaseにあるdllファイルとF:\opencv\release\lib\Releaseにあるcv2.pydとcv2.libをコピー。
  10. python で import cv2してみてエラーなければきっといけてる

こんな感じでした。
最終的に、以下のファイルがpythonのパス通ったところに下記ファイルが配置されました。

C:\Python27\Lib\site-packages\cv2.lib
C:\Python27\Lib\site-packages\cv2.pyd
C:\Python27\Lib\site-packages\opencv_calib3d231.dll
C:\Python27\Lib\site-packages\opencv_contrib231.dll
C:\Python27\Lib\site-packages\opencv_core231.dll
C:\Python27\Lib\site-packages\opencv_features2d231.dll
C:\Python27\Lib\site-packages\opencv_flann231.dll
C:\Python27\Lib\site-packages\opencv_highgui231.dll
C:\Python27\Lib\site-packages\opencv_imgproc231.dll
C:\Python27\Lib\site-packages\opencv_legacy231.dll
C:\Python27\Lib\site-packages\opencv_ml231.dll
C:\Python27\Lib\site-packages\opencv_objdetect231.dll
C:\Python27\Lib\site-packages\opencv_video231.dll


0 件のコメント:

コメントを投稿