Как избежать возврата 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 без проблем?