问题描述
我正在使用Enthought Canopy作为我的IDE(带有opencv-masters的python),我想进行背景减法,但是问题是,如果运行代码,webcam(以webcam开头的窗口)没有响应。 我的代码是:
import cv2
import numpy as np
cam=cv2.VideoCapture(0)
fgbg = cv2.BackgroundSubtractorMOG()
while(cam.isOpened):
f,img=cam.read()
if f==True:
#img=cv2.flip(img,1)
#img=cv2.medianBlur(img,3)
fgmask = fgbg.apply(img)
cv2.imshow('track',fgmask)
if(cv2.waitKey(27)!=-1):
cam.release()
cv2.destroyAllWindows()
#break
我不知道是否可以通过其他任何方式来实现此背景减法。
谢谢!
1楼
if f==True
并且if(cv2.waitKey(27)!=-1)
应该在while
循环内,则可以正常工作
import cv2
import numpy as np
cam=cv2.VideoCapture(0)
fgbg = cv2.BackgroundSubtractorMOG()
while(cam.isOpened):
f,img=cam.read()
if f==True:
#img=cv2.flip(img,1)
#img=cv2.medianBlur(img,3)
fgmask = fgbg.apply(img)
cv2.imshow('track',fgmask)
if(cv2.waitKey(27)!=-1):
cam.release()
cv2.destroyAllWindows()
#break