我决定做一个有趣的项目,我想将扑克牌的图像作为输入并返回其等级和花色。我认为我只需要查看左上角,因为那里包含了所有信息。它应该是稳健的 - 如果我有一张方块 A 的大图像,我应该能够将其缩放到 20% 到 200% 的任意位置,并且仍然得到正确的答案。
第一个问题 - 有没有已经写过的东西可以做到这一点?如果是这样,我会找到其他 OCR 工具,这样我就不会重复工作。
第二——执行此操作的最佳方法是什么?神经网络?手工编码的东西?有人可以指点一下吗? (0xCAAF9452 不是可接受的答案)。
我不认为已经为您想要完成的任务编写了一些东西(至少是开源的和用 Python 编写的)。
至于你的第二个问题,这取决于你想要认识什么。如果输入可以来自不同的来源——例如,具有独特风格的不同品牌的扑克牌——那么你可能应该使用机器学习基于算法(例如神经网络或支持向量机[SVM]),以便让它学习如何识别未知输入。但是,如果输入的形状或样式始终相同,那么一个简单的图像比较算法就足够了(例如,将切片左上角的像素与每个等级的像素进行比较)。
如果您确实决定使用基于机器学习的算法,我也认为您不需要非常复杂的功能,因为花色和等级在形状或风格上并没有太大变化,并且您应该只使用左上角的像素作为特征。
有一个 OCR 玩具示例here http://code.google.com/p/svm-ocr-demo/您可能会觉得有趣。使用的库(LibSVM)也有一个Python版本,我已经使用过,并且发现使用起来非常简单。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)