OPEN_CV 错误没有足够的值来解包(预期 3,得到 2)[重复]
Posted
技术标签:
【中文标题】OPEN_CV 错误没有足够的值来解包(预期 3,得到 2)[重复]【英文标题】:OPEN_CV ERROR not enough values to unpack (expected 3, got 2) [duplicate] 【发布时间】:2019-06-24 00:12:27 【问题描述】: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】:删除 for 循环后的逗号,我很惊讶你没有从中得到语法错误。我不确定你首先需要一个 for 循环。如果要迭代从 findContours 返回的每个值,请在将值分配给变量后执行此操作。看起来您没有将图像作为要解包的值之一传递。尝试如下重写该行: From the docs
contours, hierarchy = cv2.findContours(erosion,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
假设侵蚀是图像的名称。您收到该错误的原因是因为您将 3 个变量分配给一个函数并且只输出 2 个(轮廓和层次结构)。所以 python 期望 findContours 有 3 个输出,但只返回两个,从而导致您遇到错误。
【讨论】:
非常感谢这对我的帮助,我得到了预期的输出 :) 顺便说一句,你是日本人吗??? 不 :)。标记为答案是有帮助的,所以其他人也知道!以上是关于OPEN_CV 错误没有足够的值来解包(预期 3,得到 2)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:没有足够的值来解包(预期 3,得到 2)。啥地方出了错? [复制]
python OpenCV中的ValueError - 没有足够的值来解包(预期3,得到2)
Python 2 - ValueError:没有足够的值来解包(预期 6,得到 1)
Django sorl:没有足够的值来解包(预期 2,得到 1)