Ограничивающий прямоугольник OpenCV (Python)

#python #opencv

#python #opencv

Вопрос:

Я пытаюсь написать отчет о моем проекте компьютерного зрения, который использует функцию OpenCV (Python) boundingRect . Однако мне не разрешено говорить, что я использовал эту функцию, а скорее алгоритм / уравнение, которое использует эта функция. Я пытался найти это в Интернете, но не особенно хорошо понимаю, что именно я ищу. Сможет ли кто-нибудь подсказать, какой алгоритм boundingRect использует уравнение? Спасибо

Используется: cv2.boundingRect(contour) .

Ответ №1:

В Python / OpenCV ограничивающий прямоугольник, выровненный по осям, определяется как X,Y,W,H , где X, Y — координаты минимального угла X, Y, а W, H — ширина и высота прямоугольника. Эти значения найдены путем проверки каждой точки (x, y) на контуре, чтобы найти (минимум и максимум x и y для каждого) minX, maxX, minY, maxY. Тогда значения ограничивающего прямоугольника X=minX, Y=minY, W=(maxX-minX), H=(maxY-minY) . Вы находите минимальное и максимальное значения, перебирая каждое x (или y) и сравнивая его с предыдущим минимальным или максимальным значением. Если текущее значение меньше или выше, соответственно, замените старое значение min или max на текущее значение.

В других системах ограничивающий прямоугольник определяется минимальным и максимальным диагонально противоположными углами (minX, minY) и (maxX, maxY)

Комментарии:

1. Я не думаю, что OpenCV boundingRect использует только эту идею, поскольку она позволяет обнаруживать множество полей bouding в изображении