检测已知对象(按模板)

时间:2011-04-01 11:11:06

标签: c# computer-vision emgucv aforge

我需要有关物体检测的帮助。 我必须检测盘子上叉子和刀子的位置。盘子放在托盘上。 对象总是相同但位置可以变化。

我正在使用c#和AForge + EmguCV

有人可以帮我这个吗?

以下是示例图片:enter image description here

2 个答案:

答案 0 :(得分:0)

亮度和颜色或刀/叉像素主要由反射决定,所以我不认为经典模板匹配可以用于此图片。

刀几乎没有角落,所以我不确定像SIFT这样的基于兴趣点的算法是否可以在这里工作。

我认为这里最好的方法可能是使用边缘探测器(Laplace,Sobel,Canny),跟踪线条并按照它们在20世纪80年代的方式进行几何模板匹配。

以下是此方法的非常好的参考:Object Recognition by Computer

答案 1 :(得分:0)

我会选择寻找图像渐变的模板匹配方法。这些方法对于改变照明条件非常有用。

您可以查看在以下位置实现的快速模板匹配算法: https://github.com/dajuric/accord-net-extensions

包括样品。

实施的模板匹配算法基于梯度的方向,这对于改变光照条件非常有弹性。为了检测您的对象,必须制作一个模板(例如在Paint中),然后重新缩放。