top of page

Setting up OpenCV Python (CV2)

 OpenCVをPython言語を使用して開発するための環境設定の方法を解説します。

Webカメラの画像を取得し・表示するアプリケーションを例に、設定方法を説明します。

1. コーディング

 

 OpenCVが正常にインストールされていればPythonを使う場合には特に設定は必要ありません。

うまくいかない場合は、もう一度インストール編を確認して下さい。

 

それでは早速コーディングを行います。

以下のコードを適当なテキストエディタでcamera_cv2.pyに入力して下さい。

2. おわりに

 

 これで、OpenCVをPython言語で開発できました。

Pythonでは非常に簡単に、開発できることがわかったと思います。

動作確認として、Webカメラから画像を取得しウィンドウに表示するアプリケーションを作成しました。

この取得した画像に処理を加えることで様々な用途に使用することができます。

OpenCVは高度な処理が簡単に使用できますので、色々試して見て下さい。

 コーディングができたら、プログラムを実行します。

 

▶ Windowsの場合

  camera_cv2.pyをダブルクリックして下さい。

 

▶ Ubuntu / Raspbianの場合

ロボコンマガジン

 コードの解説を行います。

 

  •   1行目

Linuxで動作させる場合にはこの記述を行って下さい。 

 

  • 2-3行目

CVとCV2を明確に分けてインポートします。

  

  • 6-8行目

VideoCaptureクラスの初期化を行います。

また、Webカメラに接続できなければエラーを発生させます。

 

  • 10行目

キャプチャした画像を表示するウィンドウを設定します。

 

  • 12-23行目

Webカメラの画像をキャプチャしウィンドウに表示します。

キー入力があるまで処理を続けます。

 

  • 13-17行目

Webカメラから画像を取得します。

取得に失敗した場合は、Webカメラへの接続を試みます。

接続が失敗した場合は、エラーを発生させます。

 

  • 19行目

Webカメラから取得した画像を表示します。

 

  • 20-23行目

キー入力を30 ms*1待ちます。

*1 ほとんどのWebカメラは30 fpsで動作するので、30 ms待っています。お使いのカメラに合わせて調整してください。

キー入力があった場合に、image.pngというファイルに画像を保存し、ループから脱出します。

 

  • 25行目

全てのウィンドウを破棄します。

  1. # -*- coding: utf-8 -*-

  2. import cv2

  3. import cv2.cv as cv

  4.  

  5. if __name__=="__main__":

  6.     capture = cv2.VideoCapture(0)

  7.     if capture.isOpened() is False:

  8.         raise("IO Error")

  9.  

  10.     cv2.namedWindow("Capture", cv.CV_WINDOW_AUTOSIZE)

  11.  

  12.     while True:

  13.         ret, image = capture.read()

  14.         if ret is False:

  15.             open_cam(0)

  16.             if capture.isOpened() is False:

  17.                 raise("IO Error")

  18.  

  19.         cv2.imshow("Capture", image)

  20.  

  21.         if cv2.waitKey(30) >= 0:

  22.             cv2.imwrite("image.png", image)

  23.             break

  24.         

  25.     cv2.destroyAllWindows()

$ python camera_cv2.py

プログラムを実行すると、Webカメラから取得された画像がウィンドウに表示されます。

終了するときはキーボードから適当なキーを押して下さい。

すると、画像が保存されプログラムが終了します。

これで動作確認は終了です。

bottom of page