Подгонка изогнутых краев, разделенных острыми углами - PullRequest
0 голосов
/ 29 мая 2018

РЕДАКТИРОВАТЬ: Чтобы уточнить, если мой вопрос не ясен,

  • Ввод: Изображение ниже
  • Вывод: точки на ребре 1, точки на ребре 2, точки на ребре 3 и точки на ребре 4. (У I нет проблемы с поиском контуров. Я просто не могу отделить точки, которые лежатна каждом из четырех ребер. Я хочу сгруппировать эти точки в четыре отдельных ребра, чтобы я мог подогнать к ним четыре отдельные кривые)

Моя проблема здесь заключается в обнаружении точеки подгоните отдельные кривые к каждому из изогнутых краев объектов, как показано ниже (Показанное изображение является одним из примеров. Фактическая форма каждого объекта отличается, но будет либо острый угол, либо изменениепо уклону от одного края к другому):

enter image description here

Один из способов достижения этого состоит в выделении точек / пикселей на каждом ребре (четыре линиив приведенном выше примере) и поместите многочлены на каждом из них.Немного поиска, я узнал, что Hough Transform доступен для обнаружения прямых кромок в OpenCV, но не для изогнутых кромок.Я также попытался определить контуры, но они не выделяют края замкнутой формы.Основным критерием, по которому край считается отдельным от соседнего, является резкое изменение наклона.

Может ли кто-нибудь дать мне идеи о том, как этого добиться?Я предпочитаю использовать C ++ с OpenCV из-за других модулей моей задачи.

1 Ответ

0 голосов
/ 29 мая 2018

То, что вы пытаетесь сделать, это, по сути, найти точки высокой кривизны в контуре.Существует несколько методов оценки кривизны.Некоторые основаны на локальных производных интенсивности, а некоторые основаны на расположении пикселей вдоль кривой.Эта проблема очень близка к проблеме обнаружения углов.

Вас могут заинтересовать следующие ссылки: «Сравнительное исследование 2D-оценок кривизны, Саймон Херманн и Рейнхард Клетт» или «Оценка кривизны в кривых с шумом, Тхань»Фуонг Нгуен, Изабель Деблед-Реннессон ".Обратите внимание, что по этой теме много литературы, так как оценка кривизны в цифровой области непроста, поскольку она требует производных второго порядка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...