PythonからOpenCV 2.2を使う(MacOSX SnowLeopard + homebrew)
Pythonを使って画像処理をやってみたいなと思っていたところ、こんな記事を発見。
Starting with OpenCV release 2.2, OpenCV will have completed it's new Python interface to cover all the C and C++ functions directly using numpy arrays.
http://opencv.willowgarage.com/wiki/PythonInterface
インストール
macportsヤメてhomebrewにしました。でopencvをsnow leopardに入れる方法 - ( ꒪⌓꒪) ゆるよろ日記を参考に、homebrewを使ってOpenCVをインストール。後はOpenCVのPythonバインディング(動的ライブラリ)であるcv.soをPYTHONPATHの通った場所にコピーすれば、PythonからOpenCVが使えるようになっているはず。
Macに初めから入っているPythonを使う場合の手順は以下のようになります。
brew install opencv cp /usr/local/Cellar/opencv/2.2/lib/python2.6/site-packages/cv.so /Library/Python/2.6/site-packages/
webカメラで取得した画像をそのまま表示
とりあえず簡単なデモを試してみたいなとググッてみると、ちょうどいいサンプルを発見。
http://www.betasix.net/opencv-2-2-python-examples/
import cv import time cv.NamedWindow("camera", 1) capture = cv.CreateCameraCapture(0) width = None #leave None for auto-detection height = None #leave None for auto-detection if width is None: width = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)) else: cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,width) if height is None: height = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT)) else: cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,height) while True: img = cv.QueryFrame(capture) cv.ShowImage("camera", img) k = cv.WaitKey(10); if k == 'f': break
動いた!
次は、ZBar bar code readerと絡ませて遊んでみたい。