Python cv.findContours()-ValueError:没有足够的值来解包(预期为3,实际为2)

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,

因此,我在OpenCV上运行了关于如何在图像上查找轮廓和创建边界框的代码。我没有更改代码中的任何内容(除了图像源文件名)。这和教程上的完全一样。但当我运行它时,它会遇到以下错误:

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)