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