OpenCV 2.3 (SVN) を Python から使えるようにする

2011年8月11日 6:26 pm | カテゴリー: Programming | 1件のコメント
タグ: ,

Pythonほどんど書けないけど,やっぱりIDE立ち上げたりコンパイルしたりせずに,簡単なものをサクッと作れたら便利だよねー,と思ったので,インストールしてみた.

いろいろ苦労したが,結局OpenCV Installation Guide ( http://opencv.willowgarage.com/wiki/InstallGuide )に従えば特に問題なかった.しかも,OpenCVバイナリ版にPythonモジュールも同梱されている.誰特記事…

【環境】

Windows 7 64bit + VisualStudio 2010 Ultimate SP1 + OpenCV 2.3.1 (SVN rev.6424)

32bit版Pythonでテスト

【手順】

1. Pythonのインストール

Pythonのサイト( http://www.python.org/download/ )からWindows用インストーラをダウンロードし,インストールする.現時点(2011/08/11)で,OpenCVではPython 3.x系は”support status is unknown”とのことなので,2.x系を選ぶこと.32bit用と64bit用(X86-64)で別ファイルになっている.

<余談>非公式でPython以外の言語に移植されていないか調べたが,全然出てここなかった.Perlは物体認識くらいで,Rubyも数年前から停止中.残念.</余談>

2. numpyのインストール

数学ライブラリnumpyをsourceforgeのサイト( http://sourceforge.net/projects/numpy/files/NumPy/ )からダウンロードし,インストールする.win32-superpack-python*.*を選ぶ.

64bit版Python用は,非公式ではあるが,ここ ( http://www.lfd.uci.edu/~gohlke/pythonlibs/ )からダウンロードできる.VisualStudio版とMKL版がある.注意書きによると,MKL版は,Intel MKL(Math Kernel Library)のライセンスを持っていない人は再配布禁止のようだ.ちなみにMKLは単体販売で53,550円.安心のインテル価格.

3. CMakeの設定

以下のPython関係のオプションを設定する.

BUILD_NEW_PYTHON_SUPPORT, PYTHON_PATH

4. OpenCVのビルド

こんな辺鄙なページを見る人はビルドくらい出来ると思うので省略.分からない人は,InstallationGuideや他の方のブログ( まとめ?ブログ : http://kgxpx834.blog58.fc2.com/blog-entry-23.html )などを参考に.参考までに,正しく設定できたときのconfigureを貼っておく.

    Use NumPy headers from: C:\Python27\lib\site-packages\numpy\core\include

Parsing ‘cvconfig.h.cmake’

ffmpeg output dir: C:/usr/build/opencv2.3.1_vs10/bin/$(Configuration)

General configuration for opencv 2.3.1 =====================================

(省略)

Interfaces:

Python:                     YES

Python interpreter:         C:/Python27/python.exe -B (ver 2.7)

Python numpy:               YES

Java:                       NO

(省略)

ここでインストールしたPythonにはデバッグ用ライブラリが添付されないので,Debugビルドは失敗する(他のライブラリはPythonに依存しないので正常にビルドできる).なので,Releaseビルドだけ行う.ビルド後は,”opencv_***.dll”をパスの通った場所にコピーする(あるいはパスを通す).

5. cv2のPythonへのインストール

OpenCVのDLLのあるフォルダ内の”cv2.pyd“が,ビルドして作られたPython用モジュールである.これを,(Pythonのルート)\Lib\site-packages直下にフォルダを作成せずコピーする.

これで終了.

【お試し】

先にC++のサンプルで動作確認を行っておくことをお勧めする.

Pythonのサンプルはビルド先のフォルダにはコピーされないので,ソースのあるフォルダへ移動する.(OpenCVソースのルート)\samples\pythonにサンプルがある.”delaunay.py”などをダブルクリックし,正しく画像が出れば成功.パスが通っていなかったり,cv2.pydをコピーしていない場合,モジュールのロードに失敗し,エラーメッセージを吐いて落ちる.

サンプルがpythonとpython2フォルダに分かれているが,どちらも正しく動作する様子.

サンプルを自作してみたので,参考までに貼っておく.真っ黒なウィンドウが表示されるはず.


import cv2
import numpy

zr = numpy.zeros((320, 240, 3), numpy.uint8)
cv2.imshow('test', zr)
cv2.waitKey(0)

【さいごに】

これでOpenCVアプリもパイパイ作れますね.

それにしても,まとめるのは時間がかかる…

広告

1件のコメント »

RSS feed for comments on this post. TrackBack URI


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.
Entriesコメント feeds.

%d人のブロガーが「いいね」をつけました。