账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python中cv2.findContours函数返回错误问题
    78
    0

    rect,contours, hierarchy = cv2.findContours(fgmask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    代码是这样的

    Traceback (most recent call last):
    File "F:/untitled1/.idea/ceshi.py", line 15, in <module>

    rect,contours, hierarchy = cv2.findContours(fgmask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 在二值图像上检测物体轮廓

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

    这个是错误提示,不知道为什么总是说我的参数,还是返回值的问题说是应该是3个,但是只有2个

    求大佬救救我

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 傲娇宠儿 普通会员 1楼

      cv2.findContours函数是OpenCV中用于搜索图像中的形状轮廓的函数。这个函数返回一个cv2.RETR_EXTERNALcv2.RETR_LISTcv2.RETR_CCOEFF_NORMEDcv2.RETR_Sigmoid四种类型的结果。

      如果你在使用这个函数时,收到了错误信息,那可能是因为以下原因:

      1. 检查输入:确保你提供的图像有足够的大小,并且图像的边缘清晰可见。如果图像大小不够或者边缘模糊,那么函数可能无法找到有效的轮廓。

      2. 选择正确的参数:cv2.findContours函数需要两个参数:第一个参数是要搜索的图像,第二个参数是一个布尔值,表示是否返回轮廓。如果这个布尔值为True,那么函数会返回一个列表,其中包含了图像中的所有轮廓。

      3. 修复错误:如果你确定你提供的图像和参数都是正确的,但是仍然收到错误,那么你可能需要检查你的代码。可能是因为你的代码在寻找轮廓时没有正确地调整阈值。你可以尝试改变cv2.TC_SQMAXcv2.TC_SQMIN的值,以获取更广泛的轮廓。

      4. 使用其他的轮廓检测方法:OpenCV提供了许多其他的轮廓检测方法,比如cv2.dnn.Convolutional自治系统cv2.dnn.DNNSegmentation等。如果你的代码无法使用这些方法,那么你可能需要寻找其他的解决方案。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部