C#确定图像中是否存在对象

10 浏览
0 Comments

C#确定图像中是否存在对象

背景:

我们计划使用传送带系统上的摄像机来计数物体。在这种特定情况下,我们不能使用传感器。所有的物体都相当一致,如果它们出现在图片中,很容易检测到。我一直在研究Aforge和其他一些库,看起来很容易。[这就是我想要做的。](http://kishordgupta.wordpress.com/2010/12/24/detect-object-from-image-based-on-object-color-by-c/)

话虽如此,我确实有一些顾虑。过滤过程中,你必须指定你要搜索的颜色。我的物体是单一颜色的,但我们都知道在我关注的特定点上可能会有100多个不同的rgb值。

有没有办法搜索一系列颜色,或者判断一个颜色是否“像”某个特定颜色?

这是我第一次尝试任何图像处理。我还没有尝试过任何东西,刚刚准备开始,这是我开始之前的一个担忧。

非常感谢任何帮助。

0
0 Comments

C#判断图像中是否存在对象的原因是想要使用HSL(色相、饱和度、亮度)颜色模型,而不是RGB颜色模型。通过忽略饱和度和亮度,只检查色相参数,可以更好地判断图像中的对象。

为了解决这个问题,可以使用C#编程语言实现以下方法(感谢stackoverflow上的一个讨论):

System.Drawing.Color color = System.Drawing.Color.FromArgb(red, green, blue);
float hue = color.GetHue();
float saturation = color.GetSaturation();
float lightness = color.GetBrightness();

这段代码可以将RGB颜色转换成HSL颜色,并获取色相、饱和度和亮度参数。通过使用这种方法,可以更好地判断图像中是否存在特定对象。

以上是关于使用C#判断图像中是否存在对象的方法。这种方法非常有帮助,可以有效地解决这个问题。感谢提供这个方法的人。

0