使用已有的混合高斯前景检测库函数,实现一段视频中的运动目标检测
根据OpenCV官方提供的样例代码所写
createBackgroundSubtractorMOG2()有3个参数,分别是历史像素对背景像素计算值的影响时间,判断是否为前景点的分割阈值,以及是否检测倒影 仔细阅读类内函数的话发现还能设置混合高斯的元数,像素更新率等其余参数
1.读取文件,设置输出视频格式
import cv2 as cv
import numpy as np
cap = cv.VideoCapture('F:\大学\大三下\数字图像处理\第3章作业 高斯建模与运动目标检测\第3章作业 高斯建模与运动目标检测\pets2006_0.avi')
fourcc = cv.VideoWriter_fourcc(*'MJPG')
fps = cap.get(cv.CAP_PROP_FPS)
print('该视频的帧速率为:',fps)
size =(int(cap.get(cv.CAP_PROP_FRAME_WIDTH)),
int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)))
print('该视频每一帧的大小为:',size)
out1 = cv.VideoWriter('5_Gaussian_mask_normal.avi', fourcc, fps, size,0)
out2 = cv.VideoWriter('5_Gaussian_final_normal.avi', fourcc, fps, size)
#该视频的帧速率为: 30.0
#该视频每