我正在研究一个简单的扑克牌检测程序。现在我从这里有一个有效的筛选算法。我在卡片周围创建了一些边界框。然后我在卡上使用 Sift 进行搜索并保存描述符。
但是接下来该怎么办?在每一步运行 Sift 时,我是否必须制作对象的蒙版并通过边界框运行它?找不到任何关于如何做到这一点的教程。
希望可以有人帮帮我!
迎接麦克斯
编辑:我想识别每张卡片,所以我可以说:它是一个心 7 左右。
我正在研究一个简单的扑克牌检测程序。现在我从这里有一个有效的筛选算法。我在卡片周围创建了一些边界框。然后我在卡上使用 Sift 进行搜索并保存描述符。
但是接下来该怎么办?在每一步运行 Sift 时,我是否必须制作对象的蒙版并通过边界框运行它?找不到任何关于如何做到这一点的教程。
希望可以有人帮帮我!
迎接麦克斯
编辑:我想识别每张卡片,所以我可以说:它是一个心 7 左右。
SIFT 只是一个开始。
SIFT 是获取对象兴趣点的例程。您必须使用词袋方法。对您收集的 SIFT 特征进行聚类,并根据聚类均值表示每个特征。将每张卡片表示为这些聚类均值(又名词袋)的直方图。
一旦您准备好卡片的表示(@nimcap 所说的),您就需要自己进行识别。您可以尝试最近的邻居、SVM 等。
此外,为了更好地描述(更多技术性)您可能需要查看Lowe 的原始 2004 SIFT 论文。
SIFT 是解决此类问题的最佳方法吗?
与 Haar 分类器或只是简单的模板匹配相反。
例如http://digital.liby.waikato.ac.nz/conferences/ivcnz07/papers/ivcnz07-paper51.pdf