OpenCVでWebカメラを使う(メモ)

この記事ではOpenCVを使ってWebカメラを操作してみます。
私も初心者なので、とりあえず使えるようにした程度です。

前提

バージョン

  • Python 3.6.0

OpenCVのインストール

OpenCVはPython3系の場合以下のコマンドでインストールできます。

pip install opencv-python

とりあえずwebカメラにアクセス

とりあえずカメラにアクセスして表示するだけのプログラムを実装してみます。

import cv2

# カメラの起動(0は内蔵カメラが着いている場合は内蔵カメラが起動)
cap = cv2.VideoCapture(0)

while(True):
    # 現在の画像の読み込み
    ret, frame = cap.read()
    # 読み込んだ画像を表示する
    cv2.imshow("frame", frame)
    # qが押されたら止める
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

まず最初のcv2.VideoCature(0)でWebカメラにアクセスします。
cap.read()で現時点の画像を読み込みます。
cv2.imshow()で読みこんだ画像を表示します。

かなり簡単ですね。OpenCVさまさまです。

画像を保存する

読み込んだ画像を保存します。
画像の保存にはcv2.imwrite()を用います。
先程のコードに

import cv2

# カメラの起動(0は内蔵カメラが着いている場合は内蔵カメラが起動)
cap = cv2.VideoCapture(0)

while(True):
    # 現在の画像の読み込み
    ret, frame = cap.read()
    # 読み込んだ画像を表示する
    cv2.imshow("frame", frame)
    # qが押されたら止める
    if cv2.waitKey(1) & 0xFF == ord('q'):
        # 現時点での画像を保存する
        cv2.imwrite("test.jpg", frame)
        break

見てわかると思いますが、cv2.imwrite()の第一引数がファイル名、第二引数が画像データになります。

参考文献

http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_gui/py_video_display/py_video_display.html

タイトルとURLをコピーしました