Как распознавать математические символы с помощью классов распознавателей?

Я делаю проект для планшетных ПК, где пользователь будет писать уравнение для решения.

Проблема в том, что классы распознавателя, которые я использую, InkAnalyzer, не может распознавать корневые знаки или любые другие математические знаки, которые я ввожу. Можно ли как-то добавить такой функционал?

По сути, я хочу, чтобы моя программа функционировала так же, как математическая панель ввода, которая поставляется с Windows 7. О, и я пишу код на С#.


person YoungProgrammer    schedule 05.12.2011    source источник
comment
вам нужно просто распознать символы, которые являются математическими? вы можете использовать регулярное выражение для этого   -  person Yanshof    schedule 05.12.2011
comment
что ты имеешь в виду? когда я делаю корневой знак, распознаватель преобразует его либо в другой, либо в вопросительный знак (думаю, он выглядит так же). Мне нужно преобразовать ввод, который пишет пользователь, в корневой знак компьютера, но я не знаю, как включить распознаватель для этого... ;)   -  person YoungProgrammer    schedule 05.12.2011
comment
Ха-ха, спасибо BalamBalam, но ваш комментарий не очень полезен. Я знаю, что мне нужно найти способ добавить наборы математических символов, но я не знаю, как это сделать.   -  person YoungProgrammer    schedule 06.12.2011


Ответы (2)


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

Однако вы можете разработать собственную систему распознавания, использующую существующую модель набора чернил и штрихов, предоставляемую System.Windows.Ink API, но она не будет подключаться к модели InkAnalyzer. Использование информации об штрихе даст гораздо лучшие результаты, чем простая система оптического распознавания символов, в которой вы просто анализируете фигуры.

Для Microsoft было бы очень полезно представить свои возможности математического анализа в пространстве имен System.Windows.Ink, но когда это появилось, Microsoft отказалась от планшетов. Затем появился iPad и съел их обед, и теперь кто знает, увидим ли мы когда-нибудь снова фокус на рукописном вводе.

person Josh    schedule 06.12.2011

Загрузить рукописный ввод в MathInputControl в C#

В решении, представленном на странице, обсуждается, как запрограммировать управление математическим вводом.

Как только вы загрузите математическое уравнение в виде штрихов (вы можете получить их из элемента управления InkCanvas — если вы не планируете читать его из другого места и создавать штрихи) в элемент управления математическим вводом через StylusPointCollection и сохранить их в классе StrokeCollection и передать его в файл ISF (Ink Serialized Format).

Автор решения предоставляет файл ISF для управления математическим вводом. И еще некоторая работа связана с тем, чтобы вернуть решение - до этого управление окном математического ввода и т. Д.

person Community    schedule 01.01.2012