gpt4 book ai didi

c# - EmguCV 颜色识别

转载 作者:行者123 更新时间:2023-12-04 06:08:51 29 4
gpt4 key购买 nike

我正在尝试制作一个程序来检测魔方的颜色

这是到目前为止我已经启动并运行的屏幕截图,我基本上使用了 emguCV 附带的边缘检测示例中的代码,并用它来检测小立方体(但正如你所看到的,一些小立方体没有被检测到,但这不是我想在这里讨论的问题)。

现在在找出小立方体的位置后,我想检测它们是哪种颜色,目前我正在使用 HSV 值来决定颜色,如下所示:

if (current_colour.Hue > 120 && current_colour.Hue < 170)
{
Colours[(int)colornames.W]++;
}
else if (current_colour.Hue > (170))
{
Colours[(int)colornames.R]++;
}
else if (current_colour.Hue > 5 && current_colour.Hue < 20 )
{
Colours[(int)colornames.O]++;
}
else if (current_colour.Hue > 47 && current_colour.Hue< 60)
{
Colours[(int)colornames.G]++;
}
else if (current_colour.Hue > 15 && current_colour.Hue < 30)
{
Colours[(int)colornames.Y]++;
}
else if (current_colour.Hue > 100 && current_colour.Hue < 110)
{
Colours[(int)colornames.B]++;
}

我使用photoshop从反复试验中获得的每种颜色的值......我相信一定有更好的方法,因为我得到的结果很困惑(尤其是白色和红色)
有什么帮助吗?

最佳答案

如果您的图像像您的示例一样简单,则可以对图像进行直方图。直方图中的峰值将对应于您使用的颜色。

因此,您必须制作一个或三个直方图,取彼此相距足够远的最高 10 个(或其他任何)bin 值,然后您就有了自己的颜色。

关于c# - EmguCV 颜色识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028802/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com