python OpenCV中的ValueError - 没有足够的值来解包(预期3,得到2)

Posted

技术标签:

【中文标题】python OpenCV中的ValueError - 没有足够的值来解包(预期3,得到2)【英文标题】:ValueError in python OpenCV - not enough values to unpack (expected 3, got 2) 【发布时间】:2021-10-07 03:35:59 【问题描述】:

我在 Google Colaboratory 的 python OpenCV 中有一个 ValueError:没有足够的值来解包(预期 3,得到 2)。 另外,我正在制作一些程序来检测水的轮廓并给出坐标。 我怎样才能尽快解决这个问题?

import cv2
import numpy as np
from google.colab import drive

drive.mount('/content/drive')
img = cv2.imread('/content/drive/MyDrive/lake1.jpg')

imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, imthres = cv2.threshold(imgray, 127, 255, cv2.THRESH_BINARY_INV)

im2, contour, hierarchy = cv2.findContours(imthres, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) # here's the ValueError.

【问题讨论】:

这能回答你的问题吗? too many values to unpack calling cv2.findContours 【参考方案1】:

如您所见herefindContours 只返回轮廓和层次结构,而不是图像本身,如

contour, hierarchy = cv2.findContours(imthres, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

这就是这个错误信息的意思。

【讨论】:

谢谢,我刚刚修改,现在可以了。 @htl1111 如果答案对您有用,请接受(绿色复选标记)。

以上是关于python OpenCV中的ValueError - 没有足够的值来解包(预期3,得到2)的主要内容,如果未能解决你的问题,请参考以下文章

python调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)

python中的ValueError和TypeError

Python中的ValueError:解压缩的值太多[重复]

理解 ValueError:python 中的“无效数字”

ValueError:pytorch 中的“str”python 维度太多

ValueError:无法处理 Python/MySQL 中的参数