【发布时间】:2013-11-11 22:11:30
【问题描述】:
我有两种颜色,我如何检查它们是否相同颜色但只是不同的色调?我一直在尝试,但我似乎无法弄清楚,我真的不知道我在做什么哈哈……这是我到目前为止所拥有的:
import java.awt.Color;
public class Sandbox {
public Sandbox() {
Color c = new Color(5349322);
int r, g, b;
r = c.getBlue();
g = c.getGreen();
b = c.getRed();
System.out.println("Red: " + r);
System.out.println("Green: " + g);
System.out.println("Blue: " + b);
}
private boolean FindColorTol(int intTargetColor, int Tolerance) {
Color targetColor = new Color(intTargetColor);
Color imgColor = new Color(5349322);
int targetRED = targetColor.getBlue(),
targetGREEN = targetColor.getGreen(),
targetBLUE = targetColor.getRed(),
imgRED = imgColor.getBlue(),
imgGREEN = imgColor.getGreen(),
imgBLUE = imgColor.getRed();
return false;
}
private int getLargest(int...values) {
int largest = 0;
for(int i = 0; i < values.length; i++) {
if(values.length > i + 1) {
if(values[i] > values[i + 1])
largest = values[i];
else
largest = values[i + 1];
}
}
return largest;
}
public static void main(String[] args) {
new Sandbox();
}
}
还有,为什么 Color.getRed() 会返回蓝色的值,而 Color.getBlue() 的返回值会返回红色的值?我正在使用它来查找 RGB 值:http://www.colorschemer.com/online.html
我正在尝试使用它在图像中查找指定颜色。
【问题讨论】:
-
我不是这方面的专家,但如果你得到 Color 对象的 HSB(色相饱和度亮度)并比较色相,你就可以很好地设置。 Color 类具有提取此内容的方法,您可能需要查看Color API 了解详细信息。
-
那么,我是否应该找到我想要比较的颜色的 HSB 与我的控制颜色的 HSB 并将两者相减?
-
所以黑色是白色的不同色调?
-
@AndrewThompson - 是的,黑色是一切的不同色调。白色和浅色也是如此。
标签: java image image-processing colors