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

标签 c# image-processing colors image

背景:

我们计划在传送带系统上使用摄像头来计数物体。在这种特定情况下,我们不能使用传感器。我所有的对象都非常一致,并且很容易检测到它们是否出现在图片中。我一直在查看 Aforge 和其他一些库,这似乎很容易。 This is what I want to do.

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

有没有什么方法可以搜索一系列颜色,或者查看一种颜色是否“像”一种特定颜色?

这是我第一次尝试任何类型的图像处理。我还没有尝试过任何东西,正要开始,这在我开始之前就已经是一个问题了。

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用 HSL 模型(Hue Saturation Light)代替 RGB 颜色模型,您可以忽略饱和度和光线,只检查 hue 参数:

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();

关于C# 确定图像中是否存在对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12198288/

相关文章:

python-2.7 - 添加命令行参数以读取所有图像以创建调色板

使用 Turtle 生成 Python 随机颜色

c# - 为什么 C# 不能从这个看似简单、明显的案例中推断出类型

c# - 如何在未引用的程序集中提取方法的属性值

image - 使用 OpenCV 进行高斯模糊 : only blurring a subregion of an image?

r - 将颜色更改为 ggplot 对象的已定义调色板

c# - C#中如何实现malloc操作

c# - 在c# Visual Studio中的一个连接中创建多个mysql命令&where子句中的未知列

algorithm - 如何在 Matlab 中加速我的代码 [包括示例]?

ios - 从 OpenCV 距离变换得到奇怪的结果