首页 > 解决方案 > Python说我只有两个值,需要三个,而已经有三个值

问题描述

(_,contours,hierarchy)=cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)

这里的代码抛出一个错误,说我缺少第三个值,但它已经有三个值

yellow = 1.  
cv2.RETR_TREE = 2.  
cv2.CHAIN_APROX_SIMPLE = 3.  

我不知道该怎么办。

我将黄色定义为

yellow = cv2.inRange(hsv, yellow_lower, yellow_upper)

并且都定义了 yellow_lower 和 yellow_upper...

有人可以帮忙吗?提前致谢

标签: python-3.xopencv

解决方案


您认为将返回三个值(丢弃第一个值):

_, contours, hierarchy = cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

诊断告诉您只有两个被退回。所以,接受他们两个:

contours, hierarchy = cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

您似乎正在使用主要版本号为 2 的 downrev cv2 库。在 3.x 中,签名已更改为将图像添加为第三个返回值。


推荐阅读