简体   繁体   English

使用Windows Tablet PC输入实现手写识别

[英]Using Windows Tablet PC Input to implement handwriting recognition

I want to write a app (initially Windows) that include handwriting to text recognition. 我想写一个应用程序(最初是Windows),包括手写文本识别。 I want to use the Windows built-in Tablet PC INput. 我想使用Windows内置的平板电脑输入。 My question is is there a way to capture the strokes as an image, "send these to the OCR engine used by the Tablet Input, and return the recognised text? 我的问题是有没有办法将笔画捕获为图像,“将这些笔记本输入使用的OCR引擎发送,并返回识别的文本?

Or, are there any good open source handwriting libraries that could be used directly? 或者,有没有可以直接使用的好的开源手写库?

The primary development language is Qt. 主要的开发语言是Qt。

I am not aware of any open source or free software libraries for handwriting recognition, so I wrote an adapter. 我不知道任何用于手写识别的开源或免费软件库,所以我写了一个适配器。 My target was my tablet PC running Linux, but part of my solution can also be used directly on Windows, although you will need to adapt it to your needs. 我的目标是运行Linux的平板电脑,但我的部分解决方案也可以直接在Windows上使用,但您需要根据自己的需要进行调整。

You will need to read through the licenses for the components I used and validate your own use of them. 您需要阅读我使用的组件的许可证并验证您自己对它们的使用。

The source is available here: Ink2Text project 源代码可在此处获得: Ink2Text项目

Part of this solution is a server which uses the XP Handwriting Recognition libraries to interpret the strokes which make up handwriting. 此解决方案的一部分是使用XP手写识别库来解释构成手写的笔划的服务器。 As an aside, this does not use OCR - it uses connected graphs of the flow of the strokes. 另外,这不使用OCR - 它使用笔画流的连通图。

Another complementary project provides a client handwriting widget: Stylus/Handwriting Input Panel . 另一个补充项目提供客户端手写小部件: 手写笔/手写输入面板 This is written in Java, and it's GPL3. 这是用Java编写的,它是GPL3。 It accepts the handwriting and sends it off to the server. 它接受手写并将其发送到服务器。 Unless you wish to use it as is, it's of value solely to see the data format for the ink, although that's simple enough and you can probably deduce that with just the Ink2Text source code. 除非您希望按原样使用它,否则仅仅看到墨水的数据格式是有价值的,尽管这很简单,您可以使用Ink2Text源代码推断出它。

An earlier solution used the S/HIP with my MS Ink Server , which accepted input over regular network connections. 早期的解决方案使用S / HIP和我的MS Ink Server ,它通过常规网络连接接受输入。 That may also be useful depending on your architecture, but requires a running copy of Windows. 根据您的体系结构,这可能也很有用,但需要运行Windows副本。

This system provides very good recognition of printed and cursive handwriting. 该系统可以很好地识别打印和草书字迹。

I will answer questions about it only in it's associated SourceForge forums, so that others may benefit from the answers as well - please don't ask here. 我将仅在其相关的SourceForge论坛中回答有关它的问题,以便其他人也可以从答案中受益 - 请不要在这里问。

Cheers, Bret 干杯,布雷特

I want to be wrong, but unfortunately , there is no available open-source offline handwriting recognition system even close to MS' or Apple's Ink. 我想错了,但不幸的是,没有可用的开源离线手写识别系统,甚至接近MS'或Apple的墨水。

On Windows you can play with Ink Recognition ( About Handwriting Recognition , Advanced Recognition Sample ). 在Windows上,您可以使用墨迹识别( 关于手写识别高级识别示例 )。 C++ interface is available, but not as well documented, as .net implementation is. C ++接口是可用的,但没有像.net实现那样详细记录。 So, you need to apply more efforts and do a lot of research to achieve what you want. 因此,您需要付出更多努力并进行大量研究才能实现您的目标。

For another systems (including Windows too) there is way to use Tesseract-OCR with your application. 对于其他系统 (包括Windows),可以在应用程序中使用Tesseract-OCR。 See Tesseract's base api . Tesseract的基础api For better recognition quality, you may train tesseract and use your own trained data. 为了获得更好的识别质量,您可以训练tesseract并使用您自己训练的数据。

If you do not want to spend your time doing R&D tasks above, you can use paid solutions like: MyScript SDK , WritePad SDK and so on... 如果您不想花时间完成上述研发任务,可以使用付费解决方案,如: MyScript SDKWritePad SDK等......

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM