捕获手写内容并将其转换为键入文本的最佳方法

时间:2012-10-12 00:27:11

标签: c# kinect

我想编写一个程序,使用Kinect捕获运动,然后保存运动路径,然后将创建的图像转换为文本。

我不确定OCR是否是最好的方式,因为图像的质量很可能会很低。

是否有人建议的系统。还有关于如何实现它的任何提示。干杯

编辑:

Windows Journal完全符合我的要求。

2 个答案:

答案 0 :(得分:1)

您需要像Kinect这样的传感器并使用其API捕获动作。这非常特定于传感器和运动捕捉技术。我不认为你可以在没有使用C#的第三方API的情况下编写动作捕捉技术。

答案 1 :(得分:1)

我没有看到Kinect在这里给你带来的好处。

你必须首先定义这个系统将具有什么样的输入:例如,它是一个角色的RGB图像还是更复杂的像跟踪手位置的时间?

如果您想将Kinect用于其深度贴图,那么您尝试做的事情似乎更像是手势识别(以及将每个手势映射到角色)而不是OCR。

编辑手势识别方式:

我自己没有实施任何内容,所以我无法给你明确的指示或建议。关于主题(google scholar search)存在一些利用可用深度信息而不是使用2D图像的论文。我猜想DIY的方法是为每个手势获得尽可能多的训练样本,训练你的分类器(wikipedia on supervised learning),然后测试你的新样本。

如果您不喜欢冒险,可以先测试一些存在的代码示例:

  • 来自OpenNI的手跟踪示例 - 您可以看到示例here,我认为它也会识别一些手势。
  • Candescent NUI“使用Kinect深度数据进行手部和手指跟踪”,我认为它不包含任何识别,但也许它可以帮助您获得更好的数据。
  • Kinect for Windows Developer Kit可能包含一些有用的东西,但说实话我没有检查过。

我可以看到手势识别方法非常棘手。手势之间必须存在显着差异,否则,考虑到Kinect低分辨率和噪声问题,即使您获得了大量的训练样本,它仍然可能会失败。想象一下,写'我'或'我'。或者'o'和'a'之间的区别(当然取决于你的笔迹)。规模如此之小,手的移动如此微不足道,以至于我不知道分类器 - 即使是强大的分类器 - 能够捕捉到这种变化。