基本上,我需要一种方法,可以传递红色、绿色和蓝色的值,该方法应返回这些RGB值的组合是否生成一个可见的红色、绿色或蓝色。如果该组合没有生成这三种颜色之一,则应返回false。
我试图使用条件语句来实现这一点,尝试了几个变化,但都不准确。
例如,我尝试过:
if (B > 100 && B > G / 2 && B > R / 2)
{
blueCount++;
}
else if (G > 100 && G > G / 2 && G > B / 2)
{
greenCount++;
}
else if (R > 100 && R > G / 2 && R > B / 2)
{
redCount++;
}
// R , G , B contains 0-255 values
HSV
颜色模型,并检查H
(色调)和可能的S
(饱和度):如果我们拥有正确的色调(比如绿色),并且不是非常低的饱和度(不太无色如灰色、白色、黑色),我们可以说我们拥有一种绿色。 - Dmitry Bychenko