Python / Contour OpenCV返回"解包的数量太多"

时间:2018-02-05 18:00:23

标签: python opencv image-processing opencv-contour

我对本教程有疑问:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contour_features/py_contour_features.html 实际上,当我尝试执行此代码时遇到此错误:

import numpy as np
import cv2

img = cv2.imread("onepoint.png", 0)

canny_img = cv2.Canny(img,150,200)
ret,thresh = cv2.threshold(canny_img,127,255,0)
contours,hierarchy = cv2.findContours(thresh, 1, 2)

cnt = contours[0]
M = cv2.moments(cnt)
print M

这是错误:

  File "contours.py", line 13, in <module>
    contours,hierarchy = cv2.findContours(thresh, 1, 2)
ValueError: too many values to unpack

我不明白为什么会出现这种错误。我知道cv2.findContours (thresh, 1, 2)会给我回复3&#34;数组&#34;但为什么?如果一个人善意向我解释我是一个接受者:(

我试图勾勒出这个picture的字样。

我对OpenCV完全陌生,我想你会明白,

提前感谢

1 个答案:

答案 0 :(得分:0)

您需要将其更改为

im, contours,hierarchy = cv2.findContours(thresh, 1, 2)

或者,如果你只关心轮廓:

(_, contours, _) = cv2.findContours(thresh, 1, 2)

OpenCV 3中的功能已更改。