获取图像的红色,绿色和蓝色值Java

时间:2016-03-03 13:54:56

标签: java image

所以我写的这个方法得到了图像的均值和标准差。我试图修改它以获得图像的红色,绿色和蓝色值的均值和标准偏差。但我很难知道如何做到这一点。我试图使用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);
        }

但这仍然会返回平均亮度值。当我想获得红色值时。

0 个答案:

没有答案