[Python] cv.findContours() -> ValueError: not enough values to unpack (expected 3, got 2),...

Discussão em 'Python' iniciado por Stack, Março 30, 2025.

  1. Stack

    Stack Membro Participativo

    My simple Python code is this

    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)


    This worked fine. But recently without me even making any changes. This was throwed to me


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

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

    Continue reading...

Compartilhe esta Página