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

时间:2012-08-30 13:43:09

标签: c# image-processing colors image

背景:

我们计划在输送机系统上使用相机来计算物体。在这种特定情况下,我们不能使用传感器。我的所有物体都非常一致,如果它们出现在图片中,很容易被发现。我一直在寻找Aforge和其他一些图书馆,看起来很容易。 This is what I want to do.

话虽如此,我确实有些担忧。在过滤过程中,您必须指定要搜索的颜色。我的对象是纯色,但我们都知道在我看到的特定点上可能有100多个不同的rgb值。

有没有办法搜索一系列颜色,或者看一种颜色是否“喜欢”特定的颜色?

这是我第一次进行任何图像处理。我还没有尝试任何东西,即将开始,这在我开始之前就是一个问题。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用HSL(色相饱和度光)而不是使用RGB颜色模型,您可以忽略饱和度和光线,只检查色调参数:

http://en.wikipedia.org/wiki/HSL_and_HSV

以下是使用c#(感谢how to change rgb color to hsv)的方法:

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