ValueError:utiliser un.tout() ou une.tous les() et AttributeError: 'bool' objet n'a pas d'attribut de 'tous' python

Je suis en train d'exécuter ce code:

if (numObj<Max_DetObj):
    i=0
    while (i >= 0).all():
        Moment = cv2.moments(contours[i])
        area = Moment['m00']
        if (area >Min_ObjArea):
            x=Moment['m10']/area
            y=Moment['m01']/area
            found_Obj=True
        else:
            found_Obj=False
        i=hierarchy[i][0]

mais j'obtiens cette erreur:

Traceback (most recent call last):
File "C:\opencv2.4.8\sources\samples\python2\Work.py", line 120, in <module>
trackObj(threshold,hsv,frame)
File "C:\opencv2.4.8\sources\samples\python2\Work.py", line 84, in trackObj
while i >= 0:
ValueError: The truth value of an array with more than one element is ambiguous. Use       a.any() or a.all()

et quand j'ajoute tous() ou() dans la ligne, j'obtiens cette erreur:

AttributeError: 'bool' object has no attribute 'all'

quelqu'un peut-il m'expliquer ?!!

  • Qu'essayez-vous de faire? i est un numéro unique, de sorte qu'il n'a pas de all. Pourquoi ne pas simplement faire while i >= 0?
  • Lorsque vous obtenez une erreur, montre-nous le plein de trace de pile, pas seulement l'exception
  • Je l'ai fait mais j'obtiens le même message d'erreur
InformationsquelleAutor LaMorena | 2014-05-20