contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) ValueError: too many values to unpack (expected 2)
时间: 2023-07-24 17:30:29 浏览: 133
这个错误通常是由于 `cv2.findContours()` 函数返回值的格式与代码期望的格式不一致导致的。这个函数的返回值格式因 OpenCV 版本而异,如果你使用的是 OpenCV 2 版本,它将返回两个值:第一个是轮廓数组,第二个是层次结构数组。而如果你使用的是 OpenCV 3 或以上版本,它将只返回一个值,其中包含轮廓数组和层次结构数组。
因此,如果你使用的是 OpenCV 2 版本,你需要像这样使用 `cv2.findContours()` 函数:
```
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
而如果你使用的是 OpenCV 3 或以上版本,你需要这样使用:
```
_, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
在这种情况下,你需要使用一个下划线 `_` 来占位,以便从函数返回的单个值中正确提取轮廓数组和层次结构数组。
阅读全文