【ラズパイ】プログラムからカメラを操作する

前回はコマンドでカメラを操作しましたが、

今回はプログラムからカメラを使用します。

やり方は2種類あるみたいで、

python-picameraを使用する方法と、

openCVを使用する方法です。

今回はopenCVを使用してみます。

なぜなら、openCVは画像解析なんかもできるので、今後も応用が利くかも、と思いましたので。

openCVのインストール

$ sudo apt-get install python3-opencv

pip3を使用するインストール方法もネットにありましたが、

こちらはインストールの過程でビルド処理がありますので、

実行すると、一日コースです。

apt-getを使用したほうが短時間で完了します。

(それでも数分かかります。)

早速実行してみる

from datetime import datetime
import cv2, os

def main():

  cam = cv2.VideoCapture(0)
  if cam == None:
    return False

  while True:
    # カメラから映像を読み込む
    _, img = cam.read()

    cv2.imshow("preview", img)

    # キーを入力した際に撮影を終了する
    if cv2.waitKey(1) < 255: break

  # 事後処理
  cam.release()
  cv2.destroyAllWindows()

if __name__ == '__main__':
  main()
  

cam.read()を実行すると、処理結果と、frameデータが取得できます。

ここでは処理結果は使用しないので、_ と書いています。

imshow()を実行するとframeのデータを画面に表示されます。

それをwhileループしているので、プレビューのように映像が表示されます。

※ラズパイの画面をVNCのリモートデスクトップで表示させています。

最終的には、このframeデータをリモートに飛ばして表示させたい。

openCVは調べてみると、いろいろな事ができるみたいなので、もうちょっと調べてみます。

「【ラズパイ】プログラムからカメラを操作する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください