所以我写的这个方法得到了图像的均值和标准差。我试图修改它以获得图像的红色,绿色和蓝色值的均值和标准偏差。但我很难知道如何做到这一点。我试图使用colorModel,但我无处可去。有人可以给我一些关于如何修改此代码以获得红色,绿色和蓝色值的均值和标准差的建议吗?
public static double redValues(BufferedImage image){
Raster raster = image.getRaster();
double mean = meanValue(image);
double sumOfDiff = 0.0;
Color c = new Color(image.getRGB(0, 0));
int red = c.getRed();
for (int y = 0; y < image.getHeight(); ++y){
for (int x = 0; x < image.getWidth(); ++x){
double r = raster.getSample(x, y, red) - mean;
sumOfDiff += Math.pow(r, 2);
}
}
return sumOfDiff / ((image.getWidth() * image.getHeight()) - 1);
}
但这仍然会返回平均亮度值。当我想获得红色值时。