У меня есть шаблонное изображение с белым фоном и черной формой над ним. У меня также есть изображение, которое имеет аналогичную форму, но с другим поворотом и масштабом, а также имеет некоторый шум на изображении. Как показано на рисунке ниже! Я хочу использовать rotateRect, чтобы получить Rect, который включает форму шаблона, и использовать шаблон, чтобы найти rotateRect который включает в себя целевую резкость. Я знаю, что matchTemplate() не подходит, когда объект вращается или масштабируется в сцене. Поэтому я пытаюсь использовать функцию matchShapes(). Но функция matchShapes() используется для сравнения с двумя контурами. форма на целевом изображении, форма смешана с шумом, и я не могу сегментировать целевую форму и шум. Я хочу получить rotateRect, который включает только целевую форму, а не шумовую каплю. Но когда я использую findContours в целевом изображении, контур, который я нашел, будет включать целевую форму и шум. В результате я не могу
найти цель shape.Как я могу использовать шаблон rotateRect, чтобы найти цель rotateRect в opencv? Можете ли вы поделиться своей идеей. Заранее спасибо!!
Есть ли алгоритм, в котором я могу сопоставить масштаб и вращение rotateRect в opencv
Ответы (1)
Принимая во внимание сценарий, вы можете попробовать сегментировать изображение на основе цвета, так как ваш объект интереса черный, а шум синего цвета. Затем вы можете перейти к подходу на основе контуров для поиска вашей цели. Вы можете обратиться по этой ссылке для реализации алгоритма OpenCV:Watershed
Вы также можете обратиться к этой ссылке SO Coca-Cola может признание.
person
SilverSurfer
schedule
18.07.2015
Если шум черный, как я могу это сделать?
- person GKG DTH; 19.07.2015