Нахождение максимальной кривизны по периметру бинарной маски - PullRequest
0 голосов
/ 14 декабря 2018

Я ищу метод в Python для определения точки максимальной кривизны вдоль кривой, которая отслеживает периметр многоугольника.

Некоторые предыстории: я разрабатываю метод для нахождения средних линий двоичных масокморковные корни.Я использую диаграммы Вороного, которые в большинстве случаев работают хорошо, но иногда то, что я бы визуально считал «вершиной» маски, не связано с самым длинным путем графа Вороного, и я получаю нежелательные результаты.Например:

Long carrot

Ball carrot

Фактически график «преждевременно» соединяется с точкойвдоль контура двоичной маски, которая составляет самый длинный путь, но явно не соответствует тому, что я бы назвал «средней линией».Я думаю, что я могу решить эту проблему, обрезав граф Вороного до точки, где он начинает производить несколько шпор, а затем просто соединить это с истинным «кончиком» моркови.

Я думаю, что это «tip ”должна быть точкой максимальной кривизны, если предположить, что я достаточно сглаживаю маски, чтобы устранить небольшие боковые ветви.

Кто-нибудь знает, как реализовать эффективный метод в Python для сканирования по периметру этих произвольных многоугольников?, а найти точку максимальной кривизны?

...