Распознавание почерка Cocos2d .... КАК ...? - PullRequest
7 голосов
/ 20 июля 2011

я пытаюсь сделать игру, в которой я пытаюсь реализовать распознавание рукописного ввода,

, что я точно хочу, чтобы когда пользователь скользит пальцем по экрану, должна создаваться строка, где бы он ни скользилпалец и когда он поднимает палец, я хочу проверить, что созданное им изображение соответствует любому алфавиту (a, b, c ... z) и если да, то к какому алфавиту.

я попытался нарисоватьлинии, использующие CGSprites, но это приводит к огромному падению fps и последующему падению приложения, если пользователь продолжает скользить пальцем, но я не знаю, как его распознать.

Может кто-нибудь, пожалуйста, до меня, если этоВ любом случае, если да, можете ли вы дать мне некоторое представление о том, как к этому подойти?

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 02 ноября 2011

Для рисования линии вы также можете использовать CCRibbon, определить CCRibbon и сохранить ссылку на него, вы должны использовать правильное изображение для ленты

CCRibbon * line = [CCRibbon ribbonWithWidth: image: length: color: fade:];

затем в вашем обработчике касания при перемещении касания добавьте новые точки в CCRibbon

[line addPointAt: width:];

1 голос
/ 23 июля 2011

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

glEnable(GL_LINE_SMOOTH);
glLineWidth(2.5f);

затем переберите свой список точек и используйте что-то вроде

ccDrawLine(pA, pB);

чтобы провести линию между этими точками.

Что касается использования этих данных для обнаружения букв, это очень сложная проблема. Возможно, вы захотите искать библиотеки, чтобы сделать это для вас. Если вы намерены сделать это самостоятельно, то вам следует начать с поиска исследовательских работ по распознаванию рукописного текста.

0 голосов
/ 24 августа 2011

Я могу придумать три разных решения.

  1. Использовать существующую библиотеку.Может быть, вы не найдете ни одного написанного на Objective-C, но использовать любой C или C ++ - библиотека также должна быть простой.Например, вы можете использовать AMELiA или Lipi Toolkit .
  2. Создать Пользовательский распознаватель жестов для разных букв
  3. Реализацияэто сам.Вы можете использовать нейронные сети или опорные векторные машины.Вы можете обучить их с помощью некоторых бесплатных наборов данных в сети.Марковские модели также широко используются для решения этой проблемы.Однако, если вы не хотите изучать теорию и хорошо разбираться в математике, я бы не рекомендовал такой подход.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...