2
我是一名python初学者。我试图运行此代码:当我召唤我得到这个ValueError异常的mask.py太多的值来解压调用cv2.findContours
#applying closing function
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (7, 7))
closed = cv2.morphologyEx(th3, cv2.MORPH_CLOSE, kernel)
#finding_contours
(cnts, _) = cv2.findContours(closed.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for c in cnts:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
cv2.drawContours(frame, [approx], -1, (0, 255, 0), 2)
:
Traceback (most recent call last):
File "mask.py", line 22, in <module>
(cnts, _) = cv2.findContours(closed.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ValueError: too many values to unpack
什么是错的代码?
你试过去掉圆括号吗? cnts,heir = cv2.findContours(closed.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) – user1269942
哪个版本的OpenCV?我假设你正在使用3.x,但是编写代码意味着2.x分支。有一些API更改 - 其中之一是'findContours'返回3,而不是原始的2个值。阅读文档! –
可能的重复http://stackoverflow.com/questions/39598724/convert-knn-train-from-opencv-3-to-2 –