2

我有一系列关于为 iOS 编写代码和包括日语手写识别的问题。我是初学者,所以要温柔,假设我很愚蠢......

我想用平假名(日语拼音字母)呈现一个日语单词,然后让用户手写相应的汉字(汉字)。然后,在内部将其与正确的字符进行比较。然后,用户得到反馈(如果他们正确与否)。

我这里的问题围绕着手写输入。我通常知道如果使用中文键盘,这种输入是可能的。

我怎样才能在不使用键盘本身的情况下进行类似的操作?是否已经有库函数(我觉得必须有,因为中文键盘上可以输入)?

此外,汉字与汉字并不完全相同。日本人自己发明了一些独特的字符。我如何能够将这些包含在我的手写识别中?

4

1 回答 1

3

我们在大学进行了类似的练习。

由于笔画的顺序是用汉字很好地定义的,并且只有 8 个(?)不同的笔画。基本上每个汉字都是有序的笔画序列。像 te (手)是序列“向后落下的短划”,然后是“从左到右划”的两倍,最后是“底部有小尖的长向下划”。有数据库可以为您提供这些信息。

现在问题几乎减少到识别正确的笔划。您仍然会遇到一些模棱两可的问题,您必须考虑某些笔画与其他笔画的空间关系。

编辑:对于笔画识别,我们将徒手书写到 45 度(键盘上的小圆圈符号在哪里?)角度,从而将其转换为沿这些方向之一的向量序列。假设方向 0 是从下到上,方向 1 是从右下到左上,方向 2 从右到左,依此类推。

那么 te (手) 的第一个笔画是 [23]+(有些人写它是下降的,有些是水平的)第二个和第三个笔画是 6+,最后一个是 4+[123](就像小提示一样,每个作家使用不同的方向)

这种粗略的捕捉实际上足以让我们识别汉字。也许还有更复杂的方法,但这个简单的解决方案设法识别了大约 90% 的汉字。它不能只掌握一位教授的字迹,但问题是除了他自己之外,没有人能读懂他的字迹。

EDIT2:重要的是您的用户“打印”汉字并且不写书法,因为在书法中许多笔画合并为一个。就像在书法中用“稻田”的部首写汉字一样,这个部首变成了完全不同的东西。或者带有很多水平破折号的部首(例如“speech” iu 的部首)只是变成一条长长的蠕动线。

于 2011-06-16T23:50:52.407 回答