在java中从RGB转换为HSB

在java中从RGB转换为HSB,java,rgb,bufferedimage,hsb,Java,Rgb,Bufferedimage,Hsb,我试图找到图片中的平均颜色,并将颜色转换为HSB 我使用的是BuffereImage和list函数,我在每个像素中找到了红色、绿色和蓝色 有谁能给我一些关于如何在java中转换为HSB的提示吗?:) 使用java.awt.Color.RGBtoHSB(int r、int g、int b、float[]hsbvals)。见javadoc 另外,如果您使用p=bufferedImage.getRGB(x,y),请记住最低的8位(myPixel&0xff)对应于蓝色分量,因此您可以使用类似于:Colo

我试图找到图片中的平均颜色,并将颜色转换为HSB

我使用的是BuffereImage和list函数,我在每个像素中找到了红色、绿色和蓝色


有谁能给我一些关于如何在java中转换为HSB的提示吗?:)

使用
java.awt.Color.RGBtoHSB(int r、int g、int b、float[]hsbvals)
。见javadoc


另外,如果您使用
p=bufferedImage.getRGB(x,y)
,请记住最低的8位(
myPixel&0xff
)对应于蓝色分量,因此您可以使用类似于:
Color.RGBtoHSB((p>>16)&0xff,(p>>8)&0xff,p&0xff,hsbvals)
。getHSBColor()
?根据维基百科,HSB与HSV相同。