2011-07-15 74 views
1

我玩过OpenCV库的样本。现在我想自己开始编码。然而,随着图书馆的巨大可能性,我迷失在这里。使用OpenCV进行游戏卡检测 - 在移动设备上

“设置”: 假设一张桌上有扑克牌。这些卡片将排列成2行,每行的卡片数量不是固定的,而是具有一定数量的最大值。卡片的大小和形状都是一样的,但其上的图片是不同的(但不是太复杂)。 代码应该能够检测到每个卡(图片)和卡的行。

问题: 最好的解决方案是什么?哈尔? ...等等。根据运行时间,我根本不知道最快的方法是什么。 奖励问题:如果我想在移动设备上做这些事情,还有另一种更快的方法吗?

最好的问候

回答

0
  • 取渐变图像并应用霍夫变换来获取卡边界。可以选择将其与自适应阈值组合,以从前景中分割背景。
  • 使用SURF识别卡片上的图片。

对于最佳的速度,你可以使用PCA SIFT代替SURF - 它会创建一个只根据你的形象,而不是常规的SIFT或SURF,其创建特征向量容纳空间来描述的任何特征向量图片。在您的搜索匹配功能,因此会快得多。