阈值+轮廓(视频)

时间:2016-07-14 08:50:48

标签: python opencv

基本上,我的程序将使用一种称为(阈值处理)的方法来检测视频场景中的移动对象。但是,我想在程序中添加findcontours功能。我从头开始构建这个代码。现在我坚持'findcontours'和'drawcontours'部分。

问题:

  1. 无法在检测到的物体上绘制轮廓(固定)
  2. ValueError:要解压的值太多(findcontours)
  3. 这是我的代码:

    import numpy as np
    import cv2
    
    cap = cv2.VideoCapture(0)
    
    kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
    history = 150
    varThreshold = 18
    fgbg = cv2.createBackgroundSubtractorMOG2()
    
    
    while(1):
        ret, frame = cap.read()
    
        fgmask = fgbg.apply(frame)
        fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)
        img_,contours, hierarchy = cv2.findContours(fgmask, cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
        cv2.imshow('frame',fgmask)
        k = cv2.waitKey(30) & 0xff
        if k == 27:
            break
    
    cap.release()
    cv2.destroyAllWindows()
    

0 个答案:

没有答案