我看了一遍,找不到这个问题的答案,所以我要继续问问。我试图找出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)
答案 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)
。