作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Python 2.7 上使用 OpenCV 2.4.9。我正在尝试使用 OpenCV 的背景减法。它应该以某种方式从视频输入中确定前景中的对象以及背景中的其他对象(?)。但是,生成的输出看起来好像只是从后续帧中减去第一帧。这是代码:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
BSGuy = cv2.BackgroundSubtractorMOG()
while(1):
ret, frame = cap.read()
fgmask = BSGuy.apply(frame)
cv2.imshow('Frame', fgmask)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
我正在尝试上传图片以进行说明,但我发现我需要拥有 10 的声誉才能发布。 (我是新来的。)问题是,除了我现在的“图像”之外,程序开始运行时我的初始“图像”仍保留在屏幕上。如何删除它?
谢谢。
最佳答案
我看到您使用了 cap = cv2.VideoCapture(0)
。这会从您的相机获取输入。
最新版本的 OpenCV 是 4.3.0。
我使用了 cv2.createBackgroundSubtractorMOG2()
而不是 cv2.BackgroundSubtractorMOG()
代码:
BSGuy = cv2.createBackgroundSubtractorMOG2()
背景减法器在这个过程中工作得很好。正如您所提到的,屏幕上没有额外的初始“图像”。
关于python - 背景减法器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24130593/
我是一名优秀的程序员,十分优秀!