Обнаружение жестов рук - PullRequest
0 голосов
/ 29 марта 2019

Когда я запускаю это:

contours,_,hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

Я получаю эту ошибку:

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

Я также пробовал:

_, contours,hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

и

contours,hierarchy,_ = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

и получил эту ошибку:

Traceback (most recent call last):
  File "C:/Users/HASHMATI/AppData/Local/Programs/Python/Python37-32/new2hand.py", line 152, in <module>
    gestureRecognition(frame,roi_rect,frame[y:y+h, x:x+w])
  File "C:/Users/HASHMATI/AppData/Local/Programs/Python/Python37-32/new2hand.py", line 99, in gestureRecognition
    detectGesture(src,roi_rect,img_dilated)
  File "C:/Users/HASHMATI/AppData/Local/Programs/Python/Python37-32/new2hand.py", line 21, in detectGesture
    contours,_,hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
ValueError: not enough values to unpack (expected 3, got 2)

Ответы [ 2 ]

1 голос
/ 29 марта 2019

cv2.findContours() возвращает два значения и не может быть распакован в контуры, иерархию и _

Это должно быть так:

contours, hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

или больше:

a, b, *others = [1, 2, 3, 4]

0 голосов
/ 29 марта 2019

Это разница между OpenCV 3.x и 4.x.В 3.x было три возвращаемых значения, в 4.x только два.Как уже упоминалось, вы ловите только contours и hierarchy:

contours, hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

В качестве альтернативы, вы можете понизить версию OpenCV, если вы действительно хотите использовать 3.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...