python+opencv移动侦测(帧差法)
图像处理帧差法,视频异常事件检测
1.帧差法原理
移动侦测即是根据视频每帧或者几帧之间像素的差异,对差异值设置阈值,筛选大于阈值的像素点,做掩模图即可选出视频中存在变化的桢。帧差法较为简单的视频中物体移动侦测,帧差法分为:单帧差、两桢差、和三桢差。随着帧数的增加是防止检测结果的重影。
2.python实现代码
import cv2
cap = cv2.VideoCapture('D:\\avi\\mike.avi')
ret, frame = cap.read()
prevframe = frame #第一帧
while True:
ret, frame = cap.read()
nextframe = frame
if ret:
diff = cv2.absdiff(prevframe,nextframe)
cv2.imshow('video', diff)
prevframe = nextframe #帧差法 背景变化
k = cv2.waitKey(30) & 0xff
if k == 27:
break
else:
break
cv2.destroyAllWindows()
cap.release()