C# 检测已知对象(通过模板)

C# 检测已知对象(通过模板),c#,computer-vision,emgucv,aforge,C#,Computer Vision,Emgucv,Aforge,我需要物体检测方面的帮助。 我必须检测餐叉和餐刀在盘子上的位置。盘子在托盘上。 对象总是相同的,但位置可能不同 我和c#和+ 有人能帮我吗 这是一张示例图片:亮度和颜色或刀叉像素主要由反射决定,因此我认为经典模板匹配不适用于此图片 刀几乎没有角,所以我不确定像SIFT这样基于兴趣点的算法在这里是否有效 我认为这里最好的方法是使用边缘检测器(拉普拉斯、索贝尔、坎尼),追踪线条,并像20世纪80年代那样进行几何模板匹配 对于这种方法,这里有一个很好的参考:我会选择模板匹配方法,即寻找图像梯度。这些方

我需要物体检测方面的帮助。 我必须检测餐叉和餐刀在盘子上的位置。盘子在托盘上。 对象总是相同的,但位置可能不同

我和c#和+

有人能帮我吗


这是一张示例图片:

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

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

我认为这里最好的方法是使用边缘检测器(拉普拉斯、索贝尔、坎尼),追踪线条,并像20世纪80年代那样进行几何模板匹配


对于这种方法,这里有一个很好的参考:

我会选择模板匹配方法,即寻找图像梯度。这些方法对不断变化的光照条件具有鲁棒性

您可以查看在中实现的快速模板匹配算法:

样本包括在内


实现的模板匹配算法是基于梯度方向的,梯度方向对光照条件的变化具有很强的适应性。为了检测对象,必须制作一个模板(例如,在油漆中),然后重新缩放

谢谢你的回答。不幸的是,我没有时间看书。今天我和图像处理实验室(AForge)一起玩,我得到了这个结果:但我真的不知道如何追踪这些线。你能帮我吗?我现在成绩不错,但我仍然不知道如何追踪这些线: