ValueError: not enough values to unpack (expected 3, got 2)
时间: 2023-07-10 11:28:10 浏览: 64
解决yolov7训练ValueError:not enough values to unpack(expected 3,got0
3星 · 编辑精心推荐
这个错误通常会在使用 OpenCV 的函数 `cv2.findContours()` 时出现,它表示函数返回的元组中的值数量不足(期望是3个),这可能是因为你使用的 OpenCV 版本与示例代码中使用的版本不同所致。
在 OpenCV 3.x 版本中, `cv2.findContours()` 函数返回2个值:第1个是图像的轮廓,第2个是轮廓的层次结构。而在 OpenCV 4.x 版本中,这个函数返回3个值:第1个是输入图像本身,第2个是轮廓,第3个是轮廓的层次结构。
为了解决问题,你可以尝试将代码中的轮廓和层次结构的变量赋值改为:
```python
contours, _ = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
这样可以忽略掉第3个返回值,使代码能够在不同版本的 OpenCV 中运行。
阅读全文