Я использую библиотеку cv2 для обнаружения объектов на изображении. Эта функция circles = cv2.HoughCircles(..)
может возвращать None
или массив окружностей, найденных на изображении. Проблема, которую я нахожу, состоит в том, чтобы проверить, найден ли круг.
Это может быть вызвано тем, что:
circle - Выходной вектор найденных кругов. Каждый вектор кодируется как 3-элементный вектор с плавающей точкой (x, y, радиус)
Так как я могу проверить, вернула ли эта функция 3 окружности или только 1 окружность (и она имеет 3 значения)? Моя проверка работает, если круг не найден, тогда я получаю ошибку.
Код:
circles = cv2.HoughCircles(..)
if circles != None:
if circles.any():
#DOSOMETHING
Ошибка в строке if circles != None:
:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Почему это даже ошибка, а не предупреждение?
Вопрос: как пройти с массивом окружностей или одним кружком? Как я могу отличить их внутри?