OPEN_CV ERROR值不足,无法解包(预期3,得到2)

时间:2019-01-30 16:32:25

标签: opencv ide spyder

for, 
 image, contours, hierarchy =  cv2.findContours(erosion,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

它显示此错误:

ValueError: not enough values to unpack (expected 3, got 2)

Python版本:3.7.2
OpenCV版本:4.0.0

1 个答案:

答案 0 :(得分:0)

在for循环后删除逗号,我很惊讶您没有从中得到语法错误。我不确定首先需要什么for循环。如果要遍历从findContours返回的每个值,请在将值分配给变量之后执行此操作。似乎您没有将图像作为要解压缩的值之一传递。尝试按以下方式重写该行: From the docs

contours, hierarchy = cv2.findContours(erosion,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

假设腐蚀是图像的名称。出现该错误的原因是因为您向一个函数分配了3个变量,并且仅输出2(轮廓和层次结构)。因此,python期望findContours提供3个输出,但仅返回2个,从而导致出现错误。