AttributeError:模块'cv2'没有'CV_CHAIN_APPROX_SIMPLE'

时间:2017-03-02 02:13:28

标签: python opencv

我看了一遍,找不到这个问题的答案,所以我要继续问问。我试图找出opencv for python,我陷入困境。每次运行此代码时,它都会告诉我没有名为“CV_CHAIN_APPROX_SIMPLE”的属性。然后我尝试使用每个CV_CHAIN_APPROX并没有任何效果。我甚至去了我的IDLE,它也不知道它是什么,所以我被卡住了。 我正在尝试制作一个能够找到移动目标的中心坐标的程序。使用findContours会是正确的方向吗? 抱歉!我是stackoverflow的新手,所以我不确定在这些问题中我能问什么! 非常感谢!!

import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 
fgbg = cv2.createBackgroundSubtractorMOG2() 

while True: 
    _, frame = cap.read() 
    fgmask = fgbg.apply(frame) 
    filtered = cv2.medianBlur(fgmask, 15) 
    (a, b, c) = cv2.findContours(filtered, cv2.RETR_EXTERNAL, cv2.CV_CHAIN_APPROX_SIMPLE) 

    cv2.imshow('cont', b) 
    cv2.imshow('fg', fgmask) 
    cv2.waitKey(1)

2 个答案:

答案 0 :(得分:0)

在版本“2.4.9”中我可以清楚地看到cv2.CHAIN_APPROX_NONE(以及其他人)你确定你没有忘记在你面前添加cv2.就像在你的例子中那样。如果没有,请执行cv2.__version__

添加版本

答案 1 :(得分:0)

您使用的是Opencv 3.0>根据{{​​1}},您的行必须如下:

createBackgroundSubtractorMOG2

不要忘记每个OpenCV函数前面的(a, b, c) = cv2.findContours(filtered, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)