Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用opencv的背景减法视频中未显示边界框_Python_Opencv_Image Processing_Video Processing - Fatal编程技术网

Python 使用opencv的背景减法视频中未显示边界框

Python 使用opencv的背景减法视频中未显示边界框,python,opencv,image-processing,video-processing,Python,Opencv,Image Processing,Video Processing,这是我的代码,我试图在视频中的轮廓周围画一个方框,在这个例子中是多个行人行走。根本没有显示任何框,我是不是在某个地方犯了一个简单的错误?缩进错误。检测到的轮廓的边界框图形以及显示结果不在while循环中。因此,您只是在帧中读取,查找这些帧的轮廓,而不是在显示窗口中显示它们。 你需要这样做的帧更新,因为你正在阅读视频 将while循环和后面的前5行移到缩进级别0: import numpy as np import cv2 as cv cap = cv.VideoCapture("walking"

这是我的代码,我试图在视频中的轮廓周围画一个方框,在这个例子中是多个行人行走。根本没有显示任何框,我是不是在某个地方犯了一个简单的错误?

缩进错误。检测到的轮廓的边界框图形以及显示结果不在
while
循环中。因此,您只是在帧中读取,查找这些帧的轮廓,而不是在显示窗口中显示它们。 你需要这样做的帧更新,因为你正在阅读视频

while
循环和后面的前5行移到缩进级别0:

import numpy as np
import cv2 as cv
cap = cv.VideoCapture("walking")
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE,(3,3))
fgbg = cv.bgsegm.createBackgroundSubtractorGMG()
    while(1):
        ret, frame = cap.read()
        fgmask = fgbg.apply(frame)
        fgmask = cv.morphologyEx(fgmask, cv.MORPH_OPEN, kernel)
        im2, contours, hierarchy = cv.findContours(fgmask, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
        cv.drawContours(fgmask, contours, -1, (0,255,0), 3)

    if len(contours) > 0:
        for count in contours:
            x,y,w,h = cv.boundingRect(count)
            cv.rectangle(fgmask,(x,y),(x+w,y+h),(0,255,0),2)

    cv.imshow('frame',fgmask)
    cv.imshow("stan",frame)
    k = cv.waitKey(30) & 0xff
    if k == 27:
        break
cap.release()
cv.destroyAllWindows()
import numpy as np
import cv2 as cv
cap = cv.VideoCapture("walking")
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE,(3,3))
fgbg = cv.bgsegm.createBackgroundSubtractorGMG()

while(1):
    ret, frame = cap.read()
    fgmask = fgbg.apply(frame)
    fgmask = cv.morphologyEx(fgmask, cv.MORPH_OPEN, kernel)
    im2, contours, hierarchy = cv.findContours(fgmask, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
    cv.drawContours(fgmask, contours, -1, (0,255,0), 

    if len(contours) > 0:
        for count in contours:
            x,y,w,h = cv.boundingRect(count)
            cv.rectangle(fgmask,(x,y),(x+w,y+h),(0,255,0),2)

    cv.imshow('frame',fgmask)
    cv.imshow("stan",frame)
    k = cv.waitKey(30) & 0xff
    if k == 27:
        break

cap.release()
cv.destroyAllWindows()