gpt4 book ai didi

java - 如何从 RGB 值中分辨可见颜色

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:08 26 4
gpt4 key购买 nike

我正在进行一个图像分析项目,该项目检查大量图像中设定位置的 rgb 值,并且需要能够知道某个区域是绿色还是蓝色。最初我以为我可以通过测试 rgb 中的 g>b 来做到这一点,但我开始意识到,由于与红色的。我怎么知道 - 可能是公式或算法,什么颜色明显看起来是基于 rgb 的?

最佳答案

您可以使用 ColorRGB 值转换为 HSB 值类 RGBtoHSB 方法。得到的色调值落在0-1之间,绿色(0,255,0)的色调值为0.33,蓝色(0,0,255)的色调值为0.66

float[] hsb = Color.RGBtoHSB(0, 255, 0, null);//green
System.out.println(hsb[0]);
hsb = Color.RGBtoHSB(0, 0, 255, null);//blue
System.out.println(hsb[0]);

由此您可以为“更接近”绿色的色调值创建一个指标,例如任何小于 0.5 的色调值都比蓝色更绿。

下图描绘了该颜色空间中颜色如何变化,X 轴为色相(请注意,此图片中色相的变化范围为 0-360 度,而 RGBtoHSB 返回值 0- 1)

enter image description here

关于java - 如何从 RGB 值中分辨可见颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30361786/

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