Создание контуров из изображения

В Matlab есть функция "контур" (контур Matlab). Если я использую это для своего изображения, я получу то, что хочу. Но моя цель — реализовать такую ​​функцию в моем графическом редакторе самостоятельно. Я прочитал «документацию» Matlab для функции «контур» и, основываясь на этом, использовал алгоритм Marching Squares. Однако мой результат выглядит «уродливым». Контуры пересекаются друг с другом, и у меня очень большое количество вложенных контуров, которые устраняются в Matlab. Кто-нибудь знает о каком-то решении, как генерировать контуры из изображения в оттенках серого, скажем, с каждым 10-м значением яркости?


person Martin Perry    schedule 26.11.2012    source источник
comment
Я не понимаю вашего вопроса. Вы снова пытаетесь реализовать функцию countour? Взгляните на источник контура Октавы и __countour__ тогда.   -  person carandraug    schedule 26.11.2012
comment
Да .. Я пытаюсь реализовать функцию контура. Контур Octave — прекрасный пример, но исходный код нечитаем. Я не знаю Octave и его синтаксис. Похоже на C, но есть много вызовов функций, которых я не знаю.   -  person Martin Perry    schedule 26.11.2012
comment
@MartinPerry это нечитабельно? Это тот же синтаксис, что и в Matlab, с которым вы уже знакомы. Основное отличие заключается в использовании конкретной функции endfor/if/ вместо всеобъемлющего ключевого слова end.   -  person carandraug    schedule 26.11.2012
comment
Я вообще не знаю Matlab ... Я использовал только функцию контура и загрузку изображения (2 строки кода :))   -  person Martin Perry    schedule 26.11.2012


Ответы (1)


Источник openCV для их алгоритма контура доступен

Одним из самых простых серьезных алгоритмов является conrec Пола Бурка (с доступным исходным кодом), или есть простое обсуждение популярные подходы на imageprocessingplace

person Martin Beckett    schedule 26.11.2012