Quiere encontrar contornos -> ValueError: no hay suficientes valores para desempaquetar (se espera 3, obtuve 2), esto aparece

Mi código de Python simple es este

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) 

Esto funcionó bien. Pero recientemente sin que yo haga cambios. Esto me fue tirado

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

ValueError: no hay suficientes valores para descomprimir (se espera 3, se obtuvieron 2)

Ayudame chicos

Gracias.

La función cv2.findContours() ha sido cambiada para devolver solo los contornos y la jerarquía y no ret

Deberías cambiarlo a:

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