Есть какой-то известный алгоритм, который превращает рисунки пользователя в сглаженные формы? - PullRequest
11 голосов
/ 21 июля 2011

Мои требования: Пользователь должен иметь возможность рисовать что-то от руки.Затем, после того, как он снимает ручку (или палец), алгоритм сглаживает и преобразует его в несколько основных фигур.

enter image description here

Для начала я хочу преобразовать рисунок в прямоугольник, которыймаксимально напоминает оригинал.(Естественно, это не сработает, если пользователь намеренно рисует что-то еще.) Сейчас я вычисляю среднюю позицию по осям x и y и различаю горизонтальные и вертикальные линии.Но это еще не прямоугольник, а какие-то ортогональные линии.

Я задавался вопросом, есть ли какой-то известный алгоритм для этого, потому что я видел его несколько раз в некоторых приложениях с сенсорным экраном.У вас есть какой-нибудь совет по чтению?

Обновление: Может быть, мне поможет алгоритм распознавания образов.Есть несколько телефонов, которые просят пользователя нарисовать шаблон для разблокировки его клавиш.

PS: я думаю, что этот вопрос не связан с конкретным языком программирования, но если вам интересно, я будусоздайте веб-приложение с помощью RaphaelGWT.

Ответы [ 2 ]

9 голосов
/ 21 июля 2011

Алгоритм Дугласа-Пекера используется в географии (например, для упрощения GPS-трека). Я думаю, его можно использовать и здесь.

5 голосов
/ 22 июля 2011

Основываясь на вашем описании, я думаю, вы ищете алгоритм векторизации .Вот несколько указателей, которые могут вам помочь:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...