3

我想编写一个包含手写到文本识别的应用程序(最初是 Windows)。我想使用 Windows 内置的 Tablet PC 输入。我的问题是有没有办法将笔画捕获为图像,“将它们发送到平板电脑输入使用的 OCR 引擎,并返回识别的文本?

或者,有没有什么好的开源手写库可以直接使用?

主要的开发语言是 Qt。

4

2 回答 2

1

我不知道任何用于手写识别的开源或免费软件库,所以我编写了一个适配器。我的目标是运行 Linux 的平板电脑,但我的部分解决方案也可以直接在 Windows 上使用,尽管您需要根据自己的需要对其进行调整。

您需要通读我使用的组件的许可证并验证您自己对它们的使用。

源代码可在此处获得:Ink2Text 项目

该解决方案的一部分是一个服务器,它使用 XP 手写识别库来解释构成手写的笔画。顺便说一句,这不使用 OCR - 它使用笔画流的连接图。

另一个补充项目提供了一个客户端手写小部件:Stylus/Handwriting Input Panel。这是用 Java 编写的,它是 GPL3。它接受笔迹并将其发送到服务器。除非您希望按原样使用它,否则仅查看墨水的数据格式是有价值的,尽管这很简单,您可以仅使用 Ink2Text 源代码推断出这一点。

早期的解决方案将 S/HIP 与我的MS Ink Server一起使用,它通过常规网络连接接受输入。根据您的体系结构,这也可能很有用,但需要 Windows 的运行副本。

该系统对印刷和草书笔迹提供了很好的识别。

我只会在相关的 SourceForge 论坛中回答有关它的问题,以便其他人也可以从答案中受益——请不要在这里提问。

干杯,布雷特

于 2015-07-08T08:27:27.463 回答
0

我想错了,但不幸的是,即使接近 MS 或 Apple 的 Ink,也没有可用的开源离线手写识别系统。

在 Windows 上,您可以玩墨迹识别(关于手写识别高级识别示例)。C++ 接口可用,但不像 .net 实现那样有据可查。所以,你需要付出更多的努力,做大量的研究来实现你想要的。

对于其他系统(也包括 Windows),可以在您的应用程序中使用 Tesseract-OCR。请参阅Tesseract 的基础 api。为了获得更好的识别质量,您可以训练 tesseract并使用您自己的训练数据。

如果你不想花时间做上面的研发任务,你可以使用付费的解决方案,比如:MyScript SDKWritePad SDK等等……

于 2015-04-16T13:20:03.717 回答