Вот как работает мой первый подход, но он не надежен.

аюсь обнаружить узор на объекте на зеленом поле, состоящем из трех цветов (два розовых маркера по бокам и синий в середине), расположенных как светофор.

Сначала я попытался преобразовать изображения с веб-камеры в цветовое пространство hsv и изолировать цвет с помощью cvInRangeS, но это стало проблематичным, так как свет менялся в комнате в течение дня, или я получал ложные срабатывания или терял следы объектов.

Затем я попробовал SURF, изменив find_obj.cpp, проблема в том, что opencv может обнаруживать только 2 точки серфинга на моем маркере, чего недостаточно, чтобы найти его по коду. Кажется, мне нужно как минимум 4, я пытался играть с параметрами серфинга, но это ничего не изменило.

Также во время поиска в Google я столкнулся с этим,

http://wiki.elphel.com/index.php?title=OpenCV_Tennis_balls_recognizing_tutorial&redirect=no

в котором говорится, что я также могу использовать машинное обучение, чтобы выбрать интересующую меня цветовую гамму, но я не смог найти никакой информации о том, как это сделать.

У меня вопрос, есть ли в OpenCV что-нибудь, что позволило бы мне обнаружить маркер?

РЕДАКТИРОВАТЬ: Еще один вопрос, касающийся попыток тренировать волосы. Мой фон всегда будет одного цвета с одной и той же поверхностью, используя один и тот же маркер для объекта. Могу ли я обучить классификатор, скажем, 20 положительных или 20 отрицательных изображений, или мне все еще нужны тысячи изображений, чтобы получить его? признать?

Ответы на вопрос(1)

Ваш ответ на вопрос