前にOpenCV使ってカメラの起動までやったので、もう少しだけ処理を追加してみた。
今回は背景差分処理を追加
ソースは⬇︎こんな感じ
import numpy as np
# OpenCV のインポート
import cv2
# VideoCaptureのインスタンスを作成する。
# 引数でカメラを選べれる。
cap = cv2.VideoCapture(0)
cap2 = cv2.createBackgroundSubtractorMOG2()
while True:
# VideoCaptureから1フレーム読み込む
ret, frame = cap.read()
mask = cap2.apply(frame)
# 加工なし画像を表示する
cv2.imshow('Raw Frame', mask)
# キー入力を1ms待って、k が27(ESC)だったらBreakする
k = cv2.waitKey(1)
if k == 27:
break
# キャプチャをリリースして、ウィンドウをすべて閉じる
cap.release()
cv2.destroyAllWindows()
処理としては以下のメソッドで背景オブジェクトを取得
cap2 = cv2.createBackgroundSubtractorMOG2()
マスク(特定部分を抽出する)処理して
mask = cap2.apply(frame)
実行結果は、こんな感じ!
簡単!