当前位置: 首页 > 面试题库 >

想要找到轮廓-> ValueError:没有足够的值可解包(预期3,得到2),出现

葛子昂
2023-03-14
问题内容

我简单的python代码是这样

import cv2

img=cv2.imread('Materials/shapes.png')

blur=cv2.GaussianBlur(img,(3,3),0)
gray=cv2.cvtColor(blur,cv2.COLOR_BGR2GRAY)
returns,thresh=cv2.threshold(gray,80,255,cv2.THRESH_BINARY)

ret,contours,hierachy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

for cnt in contours:

    area=cv2.contourArea(cnt) #contour area

    if (area>1220):
        cv2.drawContours(img,[cnt],-1,(0,255,0),2)
        cv2.imshow('RGB',img)
        cv2.waitKey(1000)
        print(len(cnt))

import numpy as np

contours=np.array(contours)

print(contours)

这很好。但是最近我什至没有做任何改变。这丢给我了

ret,contours,hierachy =
cv2.findContours(阈值,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

ValueError:没有足够的值可解包(预期3,得到2)

帮帮我

谢谢。


问题答案:

该函数cv2.findContours()已更改为仅返回轮廓和层次结构,而不返回

您应该将其更改为:

contours,hierachy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)


 类似资料:
  • 问题内容: 我正在从一个网站上学习文件管理,我尝试执行某个脚本,但对我来说效果不佳。 它一直在以下行返回此错误: ValueError:没有足够的值可解包(预期至少为2,得到0) 我正在尝试按字母顺序排列并按腌制方式转储城市及其时区的列表,该文本文件具有以下几行: 这是代码: 问题答案: 您需要一个if条件,该条件允许您跳过空白行。就像是:

  • 问题内容: 我尝试在此笔记本中解决此问题6。问题是通过使用来自的LogisticRegression模型,使用50、100、1000和5000个训练样本在此数据上训练简单模型。 这是我尝试执行的代码,它给了我错误。 ValueError:找到的数组为暗3。估计量应小于等于2。 任何想法? 更新1:更新到Jupyter Notebook的链接。 问题答案: scikit-learn期望2d num数

  • 我目前正在尝试创建带有python文件和大量额外软件包的docker映像。txt。 当我运行命令“sudo docker build-t XXX”时软件包被一个接一个地下载和安装,直到我收到一个错误:“由于环境错误,无法安装软件包:[Errno 28]设备上没有剩余空间” 我已经做了“sudo docker system prune”的原子选项,所有过去的docker镜像都被删除了。 此外,“su

  • 问题内容: 我正在尝试使用RestTemplate这样执行URL- 但是每次我遇到这样的错误- 我在做什么错以及如何解决? 更新:- 我也尝试过使用该网址,但它对我没有用。我刚刚更换用 更新2 这是代码- 错误是- 问题答案: 似乎没有办法忽略它。而是根据您的值生成一个(不使用double )。 并使用需要使用的重载方法。

  • 问题内容: 我一直很难在由vagrant提供支持的虚拟机中执行简单的golang程序。这些是我的相关领域: 这是我要执行的程序(位于/ usr / local / src / go / program中): 这,我得到的输出: 考虑到这是一个完全伪造的程序。奇怪的是,它完全可以在不同的环境中工作。我在这里想念什么? 非常感谢! 问题答案: 问题既不是也不是。go安装有时会失败,使整个过程变得不稳定

  • 我有一个边缘被坎尼探测到。我想提取边缘的轮廓。 我已经检查了下面的帖子。OpenCV转换Canny边缘到轮廓。 但是它没有处理复杂的形状。例如,带矩形的圆或带线的圆。 cv::findContours()函数有两个问题。1.返回非闭合边的闭合轮廓,但我需要非闭合轮廓2。为闭合边返回2个闭合轮廓(可能其中一个轮廓用于边,另一个用于边的内侧,但我想要两个轮廓中的一个。 有没有办法解决这个问题?谢谢。