Проблема выпуклых дефектов корпуса (выпуклость дефектов из opencv) - PullRequest
0 голосов
/ 11 июня 2019

Как избежать возврата None из функции выпуклостиDefects?

Если функция возвращает None, я не могу использовать .shape для объектов None (которые показали ошибку).Однако, если я вставлю свой оператор if прямо перед циклом for, из numpy произойдет еще одна ошибка, сообщающая, что

ValueError: Значение истинности массива с более чем одним элементом является неоднозначным.Используйте a.any() или a.all().

Тогда, если я добавлю defects.all() для оператора if, снова появится ошибка объекта None

cnt = contours[0]

hulll = cv.convexHull(cnt, returnPoints=False)

defects = cv.convexityDefects(cnt, hulll)
  if (defects != None):
     for i in range(defects.shape[0]):
        s, e, f, d = defects[i, 0]

Как выполнить цикл for без проблем?

...