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
答案 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个,从而导致出现错误。