electronicsdiy / electronics_diy721

electronics_diy721's repository
0 stars 0 forks source link

Fulfill Moving Object Detected Coordinate with Green Color at MP4 file #11

Open electronicsdiy opened 3 years ago

electronicsdiy commented 3 years ago

Results

% python3 fulfill_moving_object_with_green.py --file_name f_22_fighter.mp4
スクリーンショット 2021-08-18 0 45 09 スクリーンショット 2021-08-18 0 45 39 スクリーンショット 2021-08-18 0 48 07 スクリーンショット 2021-08-18 0 48 29 スクリーンショット 2021-08-18 0 48 34 スクリーンショット 2021-08-18 0 48 38 スクリーンショット 2021-08-18 0 48 46 スクリーンショット 2021-08-18 0 49 25 スクリーンショット 2021-08-18 0 49 37 スクリーンショット 2021-08-18 0 59 32 スクリーンショット 2021-08-18 0 59 58 スクリーンショット 2021-08-18 1 00 17 スクリーンショット 2021-08-18 1 01 13 スクリーンショット 2021-08-18 1 01 46 スクリーンショット 2021-08-18 1 01 50 スクリーンショット 2021-08-18 1 02 44

![Uploading スクリーンショット 2021-08-18 1.03.07.png…]()

Code

import numpy as np
import cv2
import argparse

# 動画ファイル名をコマンドライン引数から受け取る
parser = argparse.ArgumentParser(description='')    #
parser.add_argument('--file_name')
args = parser.parse_args()

movie_file = args.file_name

cap = cv2.VideoCapture(movie_file)
wait_secs = int(1000 / cap.get(cv2.CAP_PROP_FPS))

model = cv2.bgsegm.createBackgroundSubtractorMOG()

while True:
    ret, frame = cap.read()
    if not ret:
        break

    mask = model.apply(frame)
    #print(mask) 動く物体の検出領域の値:255, それ以外の領域の値:0
    # 胴体検出座標値の画素値を緑色 BGR(0, 255, 0) にする。
    frame[mask == 255] = (0, 255, 0)

    cv2.imshow("Frame (Only Forground)", frame)
    cv2.waitKey(wait_secs)

cap.release()
cv2.destroyAllWindows()