如何使用SIFT和OpenCV搜索图像中的对象?

时间:2011-01-11 14:00:41

标签: opencv computer-vision sift

我正在制作一个简单的扑克牌检测程序。 现在我有一个来自here的Sift Algorithmus。 我在卡片周围创建了一些边界框。 然后我在卡片上使用Sift进行搜索并保存描述符。

但接下来该怎么办?我是否必须制作对象的蒙版并在每个步骤中运行Sift时通过边界框运行? 找不到任何关于如何做到这一点的教程。

希望有人可以帮助我!

Greets Max

编辑:我想识别每张卡片,所以我可以这样说:它是一颗大约7张左右。

3 个答案:

答案 0 :(得分:2)

SIFT只是一个开始。

SIFT是获取对象兴趣点的例程。你必须使用 Bag of Words 方法。对您收集的SIFT功能进行群集,并根据群集方式表示每个功能。将每张卡片表示为这些群集装置的直方图(也称为词袋)。

答案 1 :(得分:1)

一旦你准备好了卡片的代表(@nimcap说的话),那么你需要自己进行识别。您可以尝试最近邻居,SVM等。

此外,为了更好地描述(更具技术性)您可能想要查看的内容Lowe's original 2004 SIFT paper

答案 2 :(得分:1)

SIFT是这种方式的最佳方法吗? 与Haar分类器相反或仅仅是简单的模板匹配。

例如http://digital.liby.waikato.ac.nz/conferences/ivcnz07/papers/ivcnz07-paper51.pdf