背景差分法代码python
时间: 2023-09-18 12:14:39 浏览: 133
背景差分法
5星 · 资源好评率100%
背景差分法是一种简单的运动物体检测方法,常用于视频监控等领域。以下是一个简单的Python代码示例,实现了背景差分法。
```python
import cv2
# 读取视频文件
cap = cv2.VideoCapture('test.mp4')
# 创建BackgroundSubtractor对象
fgbg = cv2.createBackgroundSubtractorMOG2()
while True:
ret, frame = cap.read()
# 将当前帧与背景帧进行差分
fgmask = fgbg.apply(frame)
# 对差分结果进行阈值处理
thresh = cv2.threshold(fgmask, 127, 255, cv2.THRESH_BINARY)[1]
# 显示结果
cv2.imshow('frame', frame)
cv2.imshow('fgmask', fgmask)
cv2.imshow('thresh', thresh)
# 按下q键退出循环
if cv2.waitKey(25) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
在代码中,我们首先读取了一个视频文件,然后创建了一个BackgroundSubtractor对象,该对象可以对当前帧与背景帧进行差分。接着,我们对差分结果进行了阈值处理,并将结果显示出来。最后,我们通过按下q键来退出循环并释放资源。
阅读全文