色付けしたい3つのグレースケール画像があります.先週同様の質問をしてアドバイスを受けました.画像の各ピクセルのRGB値を読み取る以下のコードがあります. 個々の画像ごとにこれを行いたい、つまり、1番目の画像は赤のピクセル値を読み取り、2番目の画像は青のピクセル値を読み取り、3番目の画像は緑のピクセル値を読み取り、そこから新しい画像を作成します。コードを 3 回繰り返してみましたが、それを 1 つのピクセルに適用して繰り返し続けているように見えましたが、その理由はわかりませんでした。私は本質的にコードを 3 回コピーして貼り付けましたが、もっと短くて簡単な方法があると確信しています。
次を使用して画像を読んでいます:
public static void main(final String args[])
throws IOException
{
File file = new File("src/resources/rgb.jpg");
BufferedImage src = ImageIO.read(file);
BufferedImage image = toBufferedImage(src);
save(image, "png");
}
private void img1(BufferedImage image, BufferedImage src) {
for (int x = 0; x < image.getWidth(); x++) {
for (int y = 0; y < image.getHeight(); y++) {
int clr = src.getRGB(x, y);
int red = (clr & 0x00ff0000) >> 16;
//int green = (clr & 0x0000ff00) >> 8;
//int blue = clr & 0x000000ff;
}
}
}
したがって、基本的にコードを 3 回繰り返してから、結果から新しい画像を作成する必要があります。誰かが助けてくれるかどうか疑問に思っていますか?
前もって感謝します