我使用了OpenCV库的示例。现在我想开始自己编程了。然而,由于图书馆的巨大可能性,我在这里迷路了。
"设置":假设有一张桌子上放着扑克牌。卡片将被排列成2行,每行卡片的数量不固定,但有一定的数量作为最大值。卡片的大小和形状都是一样的,但上面的图片是不同的(然而,不是太复杂)。代码应该能够检测每张卡片(图片)和卡片的行。
问题:最好的解决办法是什么?哈雾吗?…等。根据运行时,我不知道这里最快的方法是什么。附加问题:如果我想在移动设备上做这些事情,有没有其他更快的方法?
别人也有类似的问题。
简而言之:试试OpenCV SURF
- 取渐变图像,应用霍夫变换得到卡片边界。可选择将其与自适应阈值结合使用,以从背景中分割前景。
- 使用SURF识别卡片上的图片。
为了获得最佳速度,您可以使用PCA SIFT而不是SURF -它创建基于您的图像的特征向量,而不是常规SIFT或SURF,后者创建容纳空间的特征向量来描述任何图像。在搜索匹配特征时,它将因此快得多。