Python cv.findContours()-ValueError:没有足够的值来解包(预期为3,实际为2)
因此,我在OpenCV上运行了关于如何在图像上查找轮廓和创建边界框的代码。我没有更改代码中的任何内容(除了图像源文件名)。这和教程上的完全一样。但当我运行它时,它会遇到以下错误:Python cv.findContours()-ValueError:没有足够的值来解包(预期为3,实际为2),python,opencv,image-processing,Python,Opencv,Image Processing,因此,我在OpenCV上运行了关于如何在图像上查找轮廓和创建边界框的代码。我没有更改代码中的任何内容(除了图像源文件名)。这和教程上的完全一样。但当我运行它时,它会遇到以下错误: Traceback (most recent call last): File "contour.py", line 78, in <module> thresh_callback(thresh) File "contour.py", line 19,
Traceback (most recent call last):
File "contour.py", line 78, in <module>
thresh_callback(thresh)
File "contour.py", line 19, in thresh_callback
_, contours, _ = cv.findContours(canny_output, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)
有一个类似的问题,但没有得到任何答案。“FindOntours”返回两个值的元组。正确的用法是:
contours, _ = cv.findContours(canny_output, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
请在文档中查找找到的图标。这篇教程有点过时了。findContours现在返回不同数量的内容。这也是错误消息告诉您的。
contours, _ = cv.findContours(canny_output, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)