2016-11-05 2 views
0

В настоящее время у меня есть программа, которая позволяет пользователю рисовать на ней, фиксируя положение мыши каждые 0,05 секунды и рисуя линию между точкой и следующей. С этой настройкой я ищу способ идентифицировать фигуры, такие как круг, прямоугольник или букву «P».Как определить, соответствует ли набор строк форме

Мой текущий алгоритм делит экран на разделы, затем отмечает разделы с точками, записанными проигрывателем, и создает матрицу с выделенными разделами, а затем сравнивает эту матрицу с каждой матрицей форм.

Недостаточно поддержки вращения, размеров или положений. Кроме того, контроль порога сложнее вернуть в большинстве случаев поддельные результаты. Мне нужен алгоритм, который позволяет идентифицировать, например, 'P' как 'P'.

Примечание: мое текущее приложение работает на платформе C++, поэтому любые библиотеки или инструменты приветствуются, но меня интересует алгоритм.

Редактировать: После размышлений вокруг проблемы я изменил текущую сетку на экране, вместо этого я захватил точки и сдвинул их, чтобы изменить размер формы, чтобы она соответствовала сетке и по этой сетке, по сравнению с известными формы.

Picture of the process

Это решает положение и размер проблем, в то же время достаточно быстро, и вращая вход, а затем изменение размеров в цикле может решить проблему вращения (кажется, хотя это будет иметь высокую стоимость и не будет очень надежно)

Я с удовольствием приветствую альтернативные методы обработки сравнения фигуры или вращения.

ответ

0

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

Picture of the process

Это решает положение и размер проблем, в то же время достаточно быстро, и вращая вход, а затем изменение размеров в цикле может решить проблему вращения (кажется, хотя это будет иметь высокую стоимость и не будет очень надежно)

+0

хороший вопрос и хороший ответ, как хорошо! – eRaisedToX

Смежные вопросы