C# 检测图像中物体的位置和方向

C# 检测图像中物体的位置和方向,c#,object-recognition,C#,Object Recognition,我试图收集图像中物体的位置和方向 图像可以如下所示,例如: 对象显示为蓝色圆圈 到目前为止,我尝试的是使用基本的像素搜索,但看起来蓝色圆圈并不总是相同的(可能是因为形状和环境),当我给它一个颜色范围(例如红色130-150、绿色110-120和蓝色90-100),它不可靠,因为有时像素会在孔的顶部被识别,有时在正确的地点等等。更进一步,下一步将是获得物体的方向,这是更加困难的,因为环境,这可能非常类似于物体前面的光线 再一次,我想知道的是当前圆心和它瞄准的角度 有没有一个图书馆或一种方法可以做

我试图收集图像中物体的位置和方向

图像可以如下所示,例如:

对象显示为蓝色圆圈

到目前为止,我尝试的是使用基本的像素搜索,但看起来蓝色圆圈并不总是相同的(可能是因为形状和环境),当我给它一个颜色范围(例如红色130-150、绿色110-120和蓝色90-100),它不可靠,因为有时像素会在孔的顶部被识别,有时在正确的地点等等。更进一步,下一步将是获得物体的方向,这是更加困难的,因为环境,这可能非常类似于物体前面的光线

再一次,我想知道的是当前圆心和它瞄准的角度


有没有一个图书馆或一种方法可以做到这一点?我正在使用C#/WPF编程我的应用程序。

我自己找到了一个解决方案:


你所需要的就是阿佛格图书馆。使用AForge库,您可以使用颜色过滤进行一些实验(我使用了蓝色),经过一些计算,您将获得播放器的中心位置。:)

我猜问题出在JPEG上。由于转换为YCbCr颜色空间和压缩,这会弄乱颜色。如果可能的话,我建议使用PNG或BMP。那么,不仅搜索一个像素,而且搜索整行或多行可能是明智的。例如,在圆的左侧、顶部、右侧和底部尝试4个像素。我想这将最小化错误。是的,我已经用右上角和左下角构建了它,但是有一个范围。不幸的是,我无法将JPEG格式更改为另一种格式,它是基于游戏的