当前位置: 代码迷 >> python >> 如何在opencv(opencv-master)python中执行背景减法
  详细解决方案

如何在opencv(opencv-master)python中执行背景减法

热度:120   发布时间:2023-06-21 10:51:53.0

我正在使用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 

我不知道是否可以通过其他任何方式来实现此背景减法。

谢谢!

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 
  相关解决方案