Я работаю над цепочкой обработки изображений, которая разделяет один объект по цвету и контуру, а затем вычисляет y-положение этого объекта.
Как рассчитать центр контура или области с помощью OpenCV?
Ссылки Opencv:
Я работаю над цепочкой обработки изображений, которая разделяет один объект по цвету и контуру, а затем вычисляет y-положение этого объекта.
Как рассчитать центр контура или области с помощью OpenCV?
Ссылки Opencv:
Вы можете получить центр масс в направлении Y, сначала рассчитав Моменты. Затем центр масс задается yc = M01 / M00
, где M01 и M00 — поля в структуре, возвращаемой вызовом Moments.
Если вам нужен только центр ограничивающего прямоугольника, это также легко сделать с помощью BoundingRect. Это возвращает вам CvRect, и вы можете просто взять половину высоты.
Дайте мне знать, если это недостаточно точно, у меня где-то есть пример кода, который я могу вам откопать.
Я точно не знаю, что такое OpenCV, но я бы предложил следующее:
Выбранный кластер пикселей имеет максимальную ширину в одной точке - w - поэтому допустим, что область имеет w вертикальных столбцов пикселей. Теперь я бы взвесил столбцы в соответствии с тем, сколько пикселей содержит столбец, и использовал бы эти веса столбцов для определения центральной точки по горизонтали.
Тот же алгоритм может работать и для X Center.