OpenCV Contours - besoin de plus de 2 valeurs pour décompresser
Je suis en train de mettre en œuvre des contours à l'aide du code suivant..
im = cv2.imread('C:\Users\Prashant\Desktop\T.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img = cv2.drawContour(im, contours, -1, (0,255,0), 3)
cv2.imshow('Image1',img)
mais je suis continuellement à obtenir l'erreur ci-dessous.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "C:/Users/Prashant/.spyder2/.temp.py", line 17, in <module>
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
ValueError: need more than 2 values to unpack
faire la fonction findContours besoin de plus d'arguments??
blanc pourrais-je faire pour corriger cela.
débutant
Votre syntaxe est correcte pour OpenCV 3.0 bêta ou plus tard, mais vous êtes probablement à l'aide d'une version stable à 2,8 ou quelque chose.
OriginalL'auteur Prashant Shrivastava | 2013-12-31
Vous devez vous connecter pour publier un commentaire.
Dans OpenCV 2,
findContours
renvoie à seulement deux valeurs,contours
ethierarchy
. L'erreur se produit lors de python essaie d'attribuer ces deux valeurs pour les trois noms donnés sur la gauche dans cet énoncé:OriginalL'auteur Warren Weckesser
findContours renvoie à seulement trois valeurs de l'image, les contours et la hiérarchie dans opencv3
OriginalL'auteur rohan goli
Elle revient aujourd'hui trois valeurs:
retour sur l'image, les contours, la hiérarchie
OriginalL'auteur Yiming Zhou
-findContours renvoie uniquement deux valeurs. donc, utiliser juste,
Donc utiliser
contours, la hiérarchie=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
OriginalL'auteur sharat kanthi
Cela devrait vous aider:
OriginalL'auteur Pinaki Saha
Version de Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v. 1500 64 bits (AMD64)]
NumPy version: 1.16.1
argparse version: 1.1
CV2 version: 4.0.0
Traceback (most recent call last):
Fichier "omr.py", la ligne 254, dans
Fichier "omr.py" de ligne, 237, dans les principales
Fichier "omr.py" de ligne, 188, dans get_answers
Fichier "omr.py", à la ligne 26, dans get_contours
ValueError: besoin de plus de 2 valeurs pour décompresser
Que ce problème est résolu par la suppression de " im2 ,' a partir de la ligne 26.. comme dans OpenCv version 3.0 ou supérieure, la fonction "findContours' renvoie uniquement 2 valeurs.. de sorte que la déclaration doit être
contours, la hiérarchie =cv2.findContours(image_gray,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
et également mettre à niveau votre version d'OpenCv
OriginalL'auteur srbh rthr