我试图找到图片中的平均颜色,并将颜色转换为HSB。
我正在使用bufferedImage和list函数,我发现每个像素都有红色,绿色和蓝色。
有人可以给我一些关于如何在java中转换为HSB的技巧吗? :)
答案 0 :(得分:2)
使用java.awt.Color.RGBtoHSB(int r, int g, int b, float[] hsbvals)
。请参阅javadoc here。
P.S。如果您使用p = bufferedImage.getRGB(x,y)
,请回想一下最低8位(myPixel&0xff
)对应蓝色组件,因此您可以使用以下内容:Color.RGBtoHSB((p>>16)&0xff, (p>>8)&0xff, p&0xff, hsbvals)
。