not enough values to unpack (expected 3, got 2)

文章讨论了在最新OpenCV版本中findContours函数参数变化引发的问题,提供了解决方案以确保代码兼容并避免冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是opencv版本的问题,使用的可能是较新版本,如果可以的话,可以安装旧版本,但是安装旧版本往往会带来更多的版本冲突问题。

下面是我的问题以及解决方案:|
 

im2,contours, hierarchy = cv2.findContours(image.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
		for cnt in contours:
			if cv2.contourArea(cnt) < 2000:
				number+=1
				area+=cv2.contourArea(cnt)

然后就报出了not enough values to unpack (expected 3, got 2),这是因为cv2.findContours在新版本只返回两个参数,所以修改成:

contours, hierarchy = cv2.findContours(image.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
		for cnt in contours:
			if cv2.contourArea(cnt) < 2000:
				number+=1
				area+=cv2.contourArea(cnt)

就没有问题了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值