# Ниже приведен фрагмент кода для чтения видеофайла с именем v1.mp4 (размер около 14 МБ), выполнения вычитания фона, поворота кадра и его сохранения.
import cv2
import argparse
import datetime
import imutils
import time
import numpy as np
cap = cv2.VideoCapture("C:\\Users\\212458792\\Music\\Downloads\\BasketVideos\\v1.mp4") #Open video file
fgbg = cv2.createBackgroundSubtractorMOG2(detectShadows = True) #Create the background substractor
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# now creating video writer object
bgsubvideo = cv2.VideoWriter('C:\\Users\\212458792\\Music\\Downloads\\BasketVideos\\bgsubvideo.avi', -1, 20.0,size)
#using any other codec like divx or xvid or mpeg for fourcc did create and video #file and write it, but i couldn't play the file. hence using -1
выполнить фоновое вычитание кадра за кадром
while True:
ret, frame = cap.read()#read a frame
if ret==True:
fgmask = fgbg.apply(frame) #Use the substractor
cv.Flip(fgmask, flipMode=-1)
bgsubvideo.write(fgmask)
else:
break
cap.release() #release video file
cv2.destroyAllWindows() #close all openCV windows
bgsubvideo.release()