帧差法
帧差法非常简单,但是会引入噪音和空洞的问题。
混合高斯模型
混合高斯模型学习方法:
- 首先初始化每个高斯模型矩阵参数。
- 取视频中T帧数据图像用来训练高斯混合模型,来了第一个像素之后用它来当做第一个高斯分布。
- 当后面来的像素值时,与前面已有的高斯的均值比较,如果该像素点的值与其模型均差值在3倍的方差内,则属于该分布,并对其进行参数更新。
- 如果下一次来的像素不满足当前高斯分布,用它来创建一个新的高斯分布。
混合高斯模型的测试方法:
在测试阶段,对新来像素点的值与混合高斯模型中的每一个均值进行比较,如果其差值在2倍的方差之间的话,则认为是背景,否则认为是前景。将前景赋值为255,背景赋值为0。
import numpy as np
import cv2
cap=cv2.VideoCapture('../res/test.avi')
kernel=cv2