Я пытаюсь обнаружить узор на объекте на зеленом поле, состоящем из трех цветов (два розовых маркера по бокам и синий в середине), расположенных как светофор.
Сначала я попытался преобразовать изображения с веб-камеры в цветовое пространство hsv и изолировать цвет с помощью cvInRangeS, но это стало проблематичным, так как свет в комнате менялся в течение дня, или я получал ложные срабатывания или терял следы объектов.
Затем я попробовал SURF, изменив find_obj.cpp, проблема в том, что opencv может обнаружить только 2 точки серфинга на моем маркере, что недостаточно для того, чтобы найти его из кода, кажется, мне нужно как минимум 4, я попытался поиграть с параметрами серфингано это ничего не изменило.
Также, прибегая к помощи, я столкнулся с этим,
http://wiki.elphel.com/index.php?title=OpenCV_Tennis_balls_recognizing_tutorial&redirect=no
, который говорит, что я также могу использовать машинное обучение, чтобы выбрать цветовую гамму IЯ заинтересован, но я не смог найти никакой информации о том, как это сделать.
У меня вопрос, есть ли что-нибудь в OpenCV, что быпозвольте мне обнаружить маркер?
РЕДАКТИРОВАТЬ: Еще один вопрос о попытке обучения haar, мой фон всегда будет одного цвета с той же поверхностью, используя один и тот же маркер для объекта, могу ли я обучить классификатор с скажем 20 положительных 20 отрицательныхизображений или мне все еще нужны тысячи изображений для распознавания?