ValueError: too many values to unpack

 时间:2024-10-12 05:39:42

1、python在进行轮廓处理时出现ValueError:toomanyvaluestounpack(expected2),根据提示怀疑在进行轮廓处理时可能有问题

ValueError: too many values to unpack

2、在进一步观察上一步提示发现File "D:/mywork/pythonn/xxx/opencv.py", line 25, in <module> contours,hierarchy = cv.findContours(BINARYImg, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)这句和代码里cv.findContours(BINARYImg, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) 是一致的。基本定位问题点。

ValueError: too many values to unpack

3、检查findContours原型:cvFindContours是从弛阻廖娓二值图像中检索轮廓,并返回检测到的轮廓的个数这实际就是问题所在。误以为是两个返回函数!继续百度官网显示函数原型:imag髫潋啜缅e, contours, hierarchy=cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])返回值是3个!

ValueError: too many values to unpack

4、image, contours, hierarchy=cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])三个返回值的简单解释:image: 返回处理的图像contours:轮廓的点集hierarchy:各层轮廓索引

ValueError: too many values to unpack

5、修改代码ret,BINARYImg = cv.threshold(grayImg, 100, 255, cv.THRESH_蚱澄堆别BINARY)cv.imshow("BINARYImg", BINARYImg)binary,contours,hierarchy = cv.findContours(BINARYImg, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)cv.imshow("binary", binary)cv.waitKey(0)比较两幅图

ValueError: too many values to unpack
ValueError: too many values to unpack

6、结论:要注意findContours 返回的是三个参数!返回值第一个是原来的二值图。修改代码后,错误消失。能够正确计算轮廓点集!

  • 线性代数入门——克拉默法则的基本内容
  • tanx的导数,tanx的导数推导
  • (1+x)^a的泰勒展开式是什么
  • 六级考试有哪些技巧
  • 高等数学收敛的定义是什么
  • 热门搜索
    民族风情手抄报 关于梦想的手抄报图片 保护动物的手抄报 有关运动会的手抄报 古诗词手抄报图片 法制安全手抄报图片 感恩自然手抄报内容 好看的手抄报花边 科技与生活手抄报 爱国手抄报花边