У меня есть набор точек, представленный в виде матрицы из 2 строк по n столбцов. Эти точки составляют связную границу или ребро. Мне нужна функция, которая отслеживает этот контур от начальной точки P1 и останавливается в конечной точке P2. Он также должен иметь возможность отслеживать контур по часовой стрелке или против часовой стрелки. Мне было интересно, можно ли этого достичь с помощью некоторых функций Matlab.
Я попытался написать свою собственную функцию, но это было пронизано ошибками, и я также попытался использовать bwtraceboundary
и индексацию, однако это имеет проблемные результаты, поскольку точки в матрице находятся не в том порядке, который создает контур.
Спасибо заранее за любую помощь.
Кстати, я включил ссылку на график набора точек. Это половина контура руки.
Функция идеально проследила бы контур от эфира красной звезды до зеленого треугольника. Возврат точек в порядке обхода.
РЕДАКТИРОВАТЬ: это, возможно, решение более крупной проблемы, которую я пытаюсь решить, но можно ли проверить, связана ли точка на синем граничном крае с контуром, который находится между красными звездами или зелеными треугольными точками.
то есть для точки на синей границе, если вы должны были провести контур вручную от левых красных звездочек до зеленого треугольника, функция вернет true, если точка находится на соединенной границе между двумя точками, и false в противном случае.
альтернативный текст http://img717.imageshack.us/img717/9814/hand1.png < / а>