关于 Python opencv 使用中的 ValueError: too many values to unpack
作者:Lecol_leng 时间:2023-07-26 23:46:36
最近在OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。
根据网上的 教程,Python OpenCV的轮廓提取函数会返回两个值,第一个为轮廓的点集,第二个是各层轮廓的索引。但是实际调用时我的程序报错了,错误内容如下:too many values to unpack (expected 2)
其实是接受返回值不符,如果你仅仅使用一个变量a去接受返回值,调用len(a),你会发现长度为3,也就是说这个函数实际上返回了三个值
第一个,也是最坑爹的一个,它返回了你所处理的图像
第二个,正是我们要找的,轮廓的点集
第三个,各层轮廓的索引
使用方式如下:
import cv2
img = cv2.imread('D:\\test\\contour.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img,contours,-1,(0,0,255),3)
cv2.imshow("img", img)
cv2.waitKey(0)
运行时出现错误: ValueError: too many values to unpack
原因:由于版本(使用的时3.2.0.7)问题 cv.findContours返回值个数发生变化,变为3个。因此应该为
aa, ctrs, hier = cv2.findContours(im_th.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
假如第一个参数不使用,可写成
_, ctrs, hier = cv2.findContours(im_th.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
拓展:
ValueError: too many values to unpack 类错误,多为输入或者输出参数数量不一致导致。
参考:
https://www.jb51.net/article/132200.htm
其实是接受返回值不符,如果你仅仅使用一个变量a去接受返回值,调用len(a),你会发现长度为3,也就是说这个函数实际上返回了三个值
第一个,也是最坑爹的一个,它返回了你所处理的图像
第二个,正是我们要找的,轮廓的点集
第三个,各层轮廓的索引
来源:https://blog.csdn.net/jjddss/article/details/72674704
标签:opencv,ValueError
0
投稿
猜你喜欢
利用d3.js实现蜂巢图表带动画效果
2024-04-18 10:15:19
Python中利用原始套接字进行网络编程的示例
2023-06-22 18:02:03
Vue中使用Teleport的方法示例
2024-05-09 15:13:19
pyqt5 QProgressBar清空进度条的实例
2022-11-28 03:04:08
不要犯WEB字体编辑的10种错误
2008-08-19 12:55:00
python的pyecharts绘制各种图表详细(附代码)
2021-12-29 16:51:13
mysql中取字符串中的数字的语句
2024-01-15 02:16:15
Python与Appium实现手机APP自动化测试的示例代码
2023-07-26 05:06:07
go实现服务优雅关闭的示例
2023-08-06 09:01:08
SQLPlus命令操作用法详解
2024-01-27 23:00:18
python分批定量读取文件内容,输出到不同文件中的方法
2021-10-05 21:29:30
详解Angular 中 ngOnInit 和 constructor 使用场景
2024-05-11 09:18:05
ASP中利用正则表达式实现论坛UBB代码转换
2008-02-29 11:49:00
Go语言通过WaitGroup实现控制并发的示例详解
2023-06-29 01:04:27
python如何进行矩阵运算
2021-05-01 22:58:25
javascript DOM实用学习资料第1/3页
2024-04-25 13:09:44
C# 连接本地数据库的实现示例
2024-01-23 09:35:15
python采用django框架实现支付宝即时到帐接口
2023-07-16 00:15:33
基于PyQt5制作一个群发邮件工具
2022-09-04 01:46:46
Python 绘图和可视化详细介绍
2021-02-16 18:17:31