使用相机识别自行车扑克牌。有算牌、翻牌前扑克。
CardRecog 是一款从标准牌组中识别扑克牌的应用程序。设置中有五种模式可供选择;多重、单一、更新、翻牌前和原始。你触摸屏幕开始识别,保持相机不动,在前面放一些卡片,然后等待。您将保持识别模式,直到再次触摸屏幕返回空闲模式。一旦识别发生,识别出的卡片就会显示出来,有时还会被朗读出来。
在原始模式下,已识别的卡片无需过滤即可实时显示。在其他模式下,一旦识别发生,就不会再识别更多的卡片,除非您重新启动识别过程。有两种方法可以做到这一点;最简单的方法是将所有卡片从视野中移开大约 1/2 秒,然后将要识别的卡片放在相机前面。第二种方式是触摸屏幕停止识别并进入空闲状态,再次触摸屏幕开始识别。文件http://www.kgrothapps.com/files/cardrecog-example.pdf 有一些示例手。如果您没有一套自行车扑克牌,请打印该页面并尝试识别双手。
当您开始识别时,相机会对焦(如果可能),因此如果识别失败,您应该触摸屏幕停止,然后再次触摸重新开始识别,以确保您有清晰的图像。您也可以稍微倾斜卡片以查看如果这能改善结果。如果所有卡的识别都失败,请尝试将 ISO(如果在设置中)设置为尽可能高的值,而不是默认的自动值。
对于具有自动对焦功能的设备(即 Nexus 系列),即使对于大量卡片,识别效果也很好。然而,您始终需要清晰的图像和相当明亮的照明。对于低端设备,识别在单卡模式下效果良好,但在多卡模式下成功识别的卡较少。但即使对于低端设备(包括那些没有自动对焦的设备),识别在单卡模式下也能很好地工作。
在多卡模式下,如果卡的底部可见,则该卡仍然只能被识别一次。在单牌模式下,我们在牌的顶部和底部寻找相同的牌号和花色。因此单卡模式下,两者都必须可见才能识别,而多卡模式下,识别时只需要其中之一即可。在单卡模式下,如果有多张卡识别失败,则只需要一张卡。在更新模式下,我们可以一次向一手牌中添加/删除一张牌。在原始模式下,会显示未过滤的结果,您无需重复重新启动识别。当前模式显示在操作栏文本中。
从长远来看,我会将这个应用程序与不同的纸牌游戏集成。一个简单的集成是翻牌前模式,我们显示德州扑克中前两张牌的百分比赔率。我还执行标准二十一点纸牌计数(可以在设置中强制显示计数)来演示另一种纸牌应用程序。
大多数纸牌识别系统(即二十一点计数检测系统)都会寻找纸牌轮廓。在我的方法中,我不需要牌的轮廓,而是只查看牌号和相关的花色。因此只要花色和号码可见即可识别成功;卡的其余部分可以被遮挡。跳到下面视频的 1 分 23 秒,您将看到纸牌游戏中使用的典型“扇形”形状的纸牌的成功识别。据我所知,没有其他系统能够如此准确、快速地执行多卡识别。
该应用程序是实时的,因为它每秒识别多次,如原始模式所示。在其他模式中,结果会被分组以达成共识,这就是为什么识别结果需要一两秒的时间。我相信对于像谷歌眼镜这样的东西来说,这是最好的卡片识别系统,你可以在其中查看某人手中的卡片。我欢迎任何评论,但请记住这不是最终产品,它是一个技术演示。
阅读更多信息