OCR扑克牌

11 python ocr artificial-intelligence computer-vision

我决定做一个有趣的项目,我想把扑克牌的形象当作输入并返回它的等级和套装.我想我只需要看左上角,因为那里有所有的信息.它应该是健壮的 - 如果我有一张Ace of Diamonds的大图像,我应该能够将它从20%扩展到200%,并且仍能得到正确的答案.

第一个问题 - 有什么东西已经写好了吗?如果是这样,我会找到OCR的其他内容,所以我不会重复这些努力.

第二 - 这是最好的方法吗?神经网络?手写的东西?任何人都可以提供任何指示吗?(0xCAAF9452不是可接受的答案).

Joã*_*lva 3

我不认为已经为您想要完成的任务编写了一些东西(至少是开源的和用 Python 编写的)。

至于你的第二个问题,这取决于你想要认识什么。如果输入可以来自不同的来源(例如,具有独特风格的不同品牌的扑克牌),那么您可能应该使用基于机器学习的算法(例如神经网络或支持向量机 [SVM]),以便让它学习如何识别未知的输入。然而,如果输入的形状或样式始终相同,则简单的图像比较算法就足够了(例如,将切片左上角的像素与每个等级的像素进行比较)。

如果您确实决定使用基于机器学习的算法,我也认为您不需要非常复杂的功能,因为花色和等级在形状或风格上并没有太大变化,并且您应该只使用左上角的像素作为特征。

这里有一个 OCR 玩具示例,您可能会感兴趣。使用的库(LibSVM)也有一个Python版本,我已经使用过,并且发现使用起来非常简单。

希望能帮助到你。