реализация преобразования медиальной оси - PullRequest
4 голосов
/ 23 августа 2011

Как мне реализовать алгоритм преобразования медиальной оси для преобразования первого изображения во второе?

thinning-L.gif http://www.cs.sunysb.edu/~algorith/files/thinning-L.gif thinning-R.gif http://www.cs.sunysb.edu/~algorith/files/thinning-R.gif

Какая библиотека в C ++ / C # имеет поддержку преобразования медиальной оси?

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Существует много реализаций преобразования медиальной оси в Интернете (лично я не использую библиотеку OpenCV , но я уверен, что она имеет достойную реализацию).Однако вы можете легко реализовать это самостоятельно.

Чтобы выполнить преобразование по средней оси, нам нужно определить только один термин: простая точка.Точка (P) является простой точкой, если удаление P не влияет на количество связанных компонентов на переднем или на заднем плане.Итак, вам нужно выбрать связность (4 или 8) для фона и для переднего плана - чтобы работать, выберите другое для обоих (если вас интересует почему, посмотрите свойство Jordan в Google).

Examples for simple and non-simple points

Медиальная ось преобразования может быть реализована путем последовательного удаления простых точек.Вы получаете окончательный скелет, если нет более простых точек.Вы получаете изогнутый скелет (я не знаю английского названия для него, что встречается редко - пожалуйста, поправьте меня), если у вас есть только конечные точки ИЛИ непростые точки.Вы привели примеры последних в своем вопросе.

Нахождение простых точек может быть легко реализовано с помощью морфологических операторов или справочной таблицы.Подсказка: точка является простой точкой, если количество подключенных компонентов на заднем плане равно 1, а количество подключенных компонентов на переднем плане равно 1 в локальном окне 3x3.

0 голосов
/ 01 мая 2012

В этой библиотеке C доступно преобразование по медиальной оси: http://www.pinkhq.com/ Есть много других связанных функций.Проверьте эту функцию: http://www.pinkhq.com/medialaxis_8c.html

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