Ищу алгоритм для превращения картинки, состоящей из кривых линий в прямые линии
Нужен какой-то алгоритм для превращения картинки, состоящей из всяких кривых линий в картинку, состоящую из прямых линий. Например, окружность должна превращаться в многоугольник, так, чтобы выглядело не очень плохо. В гугле нашел всего одну статью на английском, но там что-то сильно умное. Если есть алгоритмы попроще, то хотелось бы про них узнать. На крайний случай пойду разбираться с этой статьей
Ответы (1 шт):
Для задачи подойдет метод контурной аппроксимации
Алгоритм простой как тапок: выбираем 2 точки (начало и конец), между которыми собираемся сглаживать фигуру. Проводим отрезок между началом и концом. Далее на пути от начала до конца находим самую удаленную точку от проведенного ранее отрезка. Если расстояние от нее до отрезка меньше некоторой константы (задается изначально), то удаляем все точки между началом и концом и оставляем только проведенный отрезок. В противном случае разбиваем ломанную на 2: [начало; самая дальняя точка], [самая дальняя точка; конец] и применяем алгоритм к каждой этой части (рекурсивно).