Обе эти проблемы являются «особенностями» медиальной оси, подход Вороного.
Точка на медиальной оси обладает свойством, что она одинаково удалена от двух или более границ.Это связано с тем, что точки медиальной оси являются точками Вороного или двойными центрами триангуляции Делоне.Это означает, что есть круг с этим центром, весь внутри границы, проходящий через три граничные точки.По крайней мере, это был бы случай, когда дискретизация границы уходит в бесконечность.Поскольку граница не имеет бесконечного числа точек, этот подход является приближением к проблемам, которые вы наблюдали.
1) Средняя ось дуги окружности - это точка.Этот результат хорош.Если форма заканчивается достаточно чистой дугой, то средняя ось «останавливается» в точке, которая является средней осью дуговой части.Это можно увидеть при сравнении различных методов на странице Skeletonize .
2) Средняя ось двух линий проходит через биссектрису угла.Это означает, что если на границе будет больше «углов», в эти углы войдет больше осевых «пальцев».Как средняя ось квадрата имеет форму X.Если вы используете подход WormAnalysis (на который вы ссылались), то извлекается только самый длинный путь на оси.Что хорошо для червей, но не в общем случае.В общем случае было бы лучше очистить ось, удалив части, которые покрывают небольшую часть границы.Как и в первом изображении темы 2) вверх идет осевая часть.То есть часть является средней осью небольшого угла на границе вверху слева.Слева от этого угла на границе находится часть, которая представляет собой дугу с небольшой средней осью.Из-за выбора самой длинной траектории берется тот длинный «палец», который охватывает небольшую часть границы, но меньшая часть медиальной оси, которая охватывает большую часть границы, опущена.