cv2.findContours()出现错误ValueError: not enough values to unpack (expected 3, got 2)
时间: 2023-11-06 10:03:28 浏览: 162
关于 Python opencv 使用中的 ValueError: too many values to unpack
引用:cv2.findContours()这个方法是用来找出轮廓值的。根据你提供的引用内容,这个错误是因为在旧版本的OpenCV中,cv2.findContours()方法返回3个值,而在新版本中只返回2个值,因此在解包(unpack)时出现了错误。解决这个问题的方法有两种:
1. 降级(或升级)OpenCV:你可以使用pip命令将OpenCV的版本降级为3.4.3.18。如果你使用的是Anaconda,你可以使用conda命令来降级。如果这些方法都无法解决问题,你可以尝试在Anaconda上安装opencv-python 3.4.0.12版本。
2. 解析差异:在OpenCV2和OpenCV4中,cv2.findContours()方法返回两个值,分别是轮廓的点集(contours)和各层轮廓的索引(hierarchy)。而在OpenCV3中,cv2.findContours()方法会返回三个值,分别是处理的图像(image),轮廓的点集(contours)和各层轮廓的索引(hierarchy)。你可以检查你的代码,看看是否需要根据你所使用的OpenCV版本来适当地修改解包的方式。
阅读全文