2014年3月10日月曜日

OpenCV3: WEBカメラ画像の取得

pythonでOpenCVライブラリを利用し、画像処理をします。
今回は単純にWEBカメラ画像を取得して表示するプログラムを書いてみます。


import cv2

cv2.namedWindow('CAMERA')
v = cv2.VideoCapture(0)
v.grab()
im = v.read()
cv2.imshow( 'CAMERA', im[1] )
key = cv2.waitKey(0)


以上で終了です。
C言語などに比べると驚くほど短いです。

これを実行すると、WEBカメラから取得した画像をウィンドウに表示します。
ウィンドウ上でエンターキー入力するとウィンドウが消えてプログラムが終了します。


継続的にカメラ画像を取得して表示したい場合はgrabからwaitKeyまでをループさせてください。
waitKey命令を入れないと画面が更新されません。
waitKeyの引数はキーの入力待ち時間[msec]です。
ループさせると、カメラ画像を継続的に取得表示します。
つまりカメラの映像を、そのまま表示する事ができます。

ソースコードは

import cv2

cv2.namedWindow('CAMERA')
v = cv2.VideoCapture(0)
key = 0
while key != 32:
  v.grab()
  im = v.read()
  cv2.imshow( 'CAMERA', im[1] )
  key = cv2.waitKey(1000)


こんな感じです。
今度はスペースキーで終了します。

スペースキーに32という番号が振られているので、key=32になったらループから抜け出すようになっています。


実行すると
指定したCAMERAと言う名前のウィンドウが出てきます。







0 件のコメント:

コメントを投稿