c# - 在 emgu CV 中使用 SURF 进行对象识别

标签 c# .net image-processing opencv emgucv

对于我的项目,我需要使用 SURF 识别对象(在我的例子中是一扇门)。我正在使用 emguCV(openCv c# 包装器)。

我一直在使用 surf feature detection example来自 emguCV 库。

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

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

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

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

非常感谢您的帮助。

谢谢

最佳答案

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

关于c# - 在 emgu CV 中使用 SURF 进行对象识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923549/

相关文章:

opencv - 如何在opencv中使用离散余弦变换(DCT)

c# - 排序子序列的最有效排序算法

c# - 如何让我的 C# 程序进入休眠模式?

c# - 如何以正确的方式管理 mysql 连接而不会出错

.net - 在 MVC 应用程序之间共享 View 、逻辑等

image-processing - 如何根据颜色和大小分割对象?

c# - 按另一个列表更新列表 (linq)

c# - 使用 Azure REST API 创建角色分配时出错 - 目录中不存在主体

c# - 加密数据以存储在数据库中

c# - 为什么我的图像似乎是 Bgra 格式而不是 Argb 格式?