python - 如何在没有滚动平均值的情况下使用 opencv createBackgroundSubtractorMOG2
问题描述
我一直在玩 python 中的 cv2 并且很好奇如何没有滚动平均值。看来,当我执行 bg_mog2.apply(frame) 时——我添加的每一帧不仅在进行背景减法运算——而且还将帧数据应用于背景模型。
我实际上正在寻找指定用作背景模型的帧数 - 并且只对未来的帧进行减法 - 而不是将这些帧添加到背景模型中。
import cv2 as cv
import numpy as np
cap = cv.VideoCapture("/somepath/depth_1_v001.mp4")
bg_mog2 = cv.createBackgroundSubtractorMOG2(history=1000, varThreshold=10, detectShadows=False)
while True:
ret, frame = cap.read()
if ret is True:
mask = bg_mog2.apply(frame)
cv.imshow("frame", frame)
cv.imshow("mask", mask)
key = cv.waitKey(30)
if key == 27:
break
cap.release()
cv.destroyAllWindows()```
解决方案
推荐阅读
- linux - 如何在bash中的字符串中找到指定字符范围内的数字?
- regex - 通过切片创建 url 列表时遇到问题
- java - Firebase实时数据库查询android studio上的特定字符串
- .net - 如何禁用带有活动内容的上传文件pdf?
- shell - 如何在Makefile中对数字字符串(例如abcd)进行排序
- c# - 从 url 读取更快的字符串
- javascript - 安装 xlsx 以将 excel 工作表处理为 json
- reactjs - useEffect 是否确定组件是否重新渲染?
- python - Python lxml在文本中间存在标签时提取文本
- python - 我在(dir / b)批处理文件中使用该命令,但它抛出错误无效语法