Распознавание образов с использованием OpenCV - PullRequest
7 голосов
/ 20 февраля 2011

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

Сначала я попытался преобразовать изображения с веб-камеры в цветовое пространство 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 отрицательныхизображений или мне все еще нужны тысячи изображений для распознавания?

1 Ответ

4 голосов
/ 20 февраля 2011

Я бы посоветовал вам ознакомиться с руководством Шервина по обнаружению блобов, используя цвета
http://www.shervinemami.info/blobs.html

РЕДАКТИРОВАТЬ

Вы пробуете ретинекс ночью, чтобы улучшить результаты

http://www.ipol.im/pub/algo/lmps_retinex_poisson_equation/

...