python+opencv实现移动侦测(帧差法)实现移动侦测(帧差法)
本文实例为大家分享了python+opencv实现移动侦测的具体代码,供大家参考,具体内容如下
1.帧差法原理帧差法原理
移动侦测即是根据视频每帧或者几帧之间像素的差异,对差异值设置阈值,筛选大于阈值的像素点,做掩模图即可选出视频中
存在变化的桢。帧差法帧差法较为简单的视频中物体移动侦测物体移动侦测,帧差法分为:单帧差单帧差、两桢差两桢差、和三桢差三桢差。随着帧数的增加是防止检
测结果的重影。
2.算法思路算法思路
文章以截取视频为例进行单帧差法移动侦测
3.python实现代码实现代码
def threh(video,save_video,thres1,area_threh):
cam = cv2.VideoCapture(video)#打开一个视频
input_fps = cam.get(cv2.CAP_PROP_FPS)
ret_val, input_image = cam.read()
index=[] images=[] images.append(input_image)
video_length = int(cam.get(cv2.CAP_PROP_FRAME_COUNT))
input_image=cv2.resize(input_image,(512,512))
ending_frame = video_length
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(save_video,fourcc, input_fps, (512, 512))
gray_lwpCV = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)
gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)
background=gray_lwpCV
# es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))
评论0