gpt4 book ai didi

Java:检测颜色(例如,我的颜色是蓝色吗?)

转载 作者:行者123 更新时间:2023-12-04 05:45:47 28 4
gpt4 key购买 nike

我用 Java 处理一个项目,它加载图像并查找每个像素的颜色信息。我需要在颜色定义上检测天空,它可能看起来像天空 - 使用蓝色范围。最初似乎最好使用 RGB,但这需要定义所有深浅的蓝色(不可数)。我找到了分析方法,其中使用了每种颜色的 HSV 阈值,但不知道如何分别使用颜色范围加载一些库,如何解决。谢谢你的帮助。

最佳答案

您可以转换 java.awt.Color使用静态方法获取 HSV 值 RGBtoHSB(...) .然后,您可以获得色调,并将其与范围的边界进行比较 - 就您的目的而言 - 构成“蓝色” - 例如

private static final float MIN_BLUE_HUE = 0.5f; // CYAN
private static final float MAX_BLUE_HUE = 0.8333333f; // MAGENTA

public static boolean isBlue(Color c) {
float[] hsv = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
float hue = hsv[0];
if (hue >= MIN_BLUE_HUE && hue <= MAX_BLUE_HUE){
return true;
}
return false;
}

我为 MIN_BLUE_HUE 提供了一些起始值和 MAX_BLUE_HUE , 但你设置的 MIN_BLUE_HUEMAX_BLUE_HUE将取决于您愿意接受为“蓝色”-即可能有多少绿色或紫色,并且仍然可以作为天空接受?

关于Java:检测颜色(例如,我的颜色是蓝色吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706006/

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