2017-10-20 12 views
0

画像の赤、緑、青の色の割合を測定したい。私はgetRGB()を通して各ピクセルのRGB値を得ることができますが、R、G、Bをそれぞれ別々にすることはできません。私のコードはrgb 167 163 164のような値を返しています。それぞれを個別に測定するにはどうすればよいですか?画像のRGB%を測定する

あなただけの[2] BLUE

である[1] GREENアブドのRGBである[0]、RGB REDあるRGB = getPixelData(

RGB後のためにあなたにそれを計算する必要が

public class RGB { 
    public static final String IMG = "/home/aritra/workspace/oopencv/picture/Pic652.jpg"; 

    public static void main(String[] args) { 

     BufferedImage img; 

     try { 
      img = ImageIO.read(new File(IMG)); 

      int[][] pixelData = new int[img.getHeight() * img.getWidth()][3]; 
      int[] rgb; 

      int counter = 0; 

      for(int i = 0; i < img.getWidth(); i++){ 
       for(int j = 0; j < img.getHeight(); j++){ 
        rgb = getPixelData(img, i, j); 

       } 
       //System.out.println(counter); 
      } 


     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

    private static int[] getPixelData(BufferedImage img, int x, int y) { 
    int argb = img.getRGB(x, y); 
    int red[]={0}; 
    int rgb[] = new int[] { 
     (argb >> 16) & 0xff, //red 
     (argb >> 8) & 0xff, //green 
     (argb  ) & 0xff //blue 
    }; 

    System.out.println("rgb: " + rgb[0] + " " + rgb[1] + " " + rgb[2]); 

    return rgb; 
    } 

答えて

0

値の範囲は0〜254です。

関連する問題