2

对于我的项目,我需要使用 SURF 识别对象(在我的情况下是门)。我正在使用 emguCV(openCv c# 包装器)。

我一直在使用 emguCV 库中的surf 特征检测示例

通过使用它,我只能识别给定模板(模型)图像的少数对象图像(例如:门)。

由于存在不同种类的门,因此对于某些门图像,它没有被检测为门。所以,我决定如果我可以将不同类型的门图像(2 个或更多图像)作为模型(模板)图像,那么我可以获得更准确的结果。

我的问题是我不清楚如何编写代码以处理 2 个或更多模型(模板)图像?基本上,我想知道通过使用哪个参数,我们可以说它是从代码中检测到还是没有检测到?

(视觉上如果检测到它,它会在匹配的对象周围绘制一个红色矩形。)

将非常感谢您的帮助。

谢谢

4

1 回答 1

1

我在上个学期作为数据结构的课程项目这样做了。在那我试图从一个凸轮检测一张脸。一开始我在这方面做了很多工作,然后在 3.4 个月后,我终于能够完成它。它可以正确检测到面部。检测到时,它会在脸部周围出现绿线。该方法与面部或某些门或汽车或其他任何东西相同。这里的问题是如何开始?是的,这很简单,您只需要使用 EMGU CV 和 OPEN CV(就像我一样)。我必须在这里说明 EMGU CV 是针对 .Net 的,而 OPEN CV 也是针对其他一些人的。您唯一需要寻找的就是“门的 XML”!其余的库在这里很容易获得:http: //sourceforge.net/projects/emgucv/ 您可以从前面的链接下载它。接下来是什么?接下来是您必须添加这些库。完成后,您可以根据您的要求使用then。正如我上面提到的,如果你正在检测门,那么你需要“门的 XML”。因为您在代码中使用的 XML 正在定义该检测。因为 XML 告诉您需要检测哪个对象,在我的示例中,我使用人脸的 XML 来检测人脸。你可以用在门上。您还有一个选择,是从网上选择门的 XML 文件,还是可以对现有的文件进行更改。而且当您要求使用 2 个或更多门图像时,这种方法不是专业的!假设如果您之前没有硬编码的门的图像和一个新门出现了,那会怎样?什么都不会发生。那就不检测了!休息是你的要求。我希望它现在有点清楚,现在要寻找什么!!.. 问候 Taimoor Alam。

于 2012-08-12T16:43:27.840 回答