Javaでの画像処理の基本


まず、Javaで画像を読み込む方法を見てみましょう。以下のコード例では、ImageIOクラスを使用して画像を読み込みます。

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageProcessingExample {
    public static void main(String[] args) {
        try {
            // 画像ファイルを読み込む
            BufferedImage image = ImageIO.read(new File("画像のパス"));
            // 画像の幅と高さを取得する
            int width = image.getWidth();
            int height = image.getHeight();
            // 画像の処理を行う
            // ここに処理のコードを追加
            // 画像を保存する
            File output = new File("保存先のパス");
            ImageIO.write(image, "png", output);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

次に、画像の処理方法の例をいくつか紹介します。以下は、画像のグレースケール変換を行うコード例です。

// 画像のグレースケール変換
for (int y = 0; y < height; y++) {
    for (int x = 0; x < width; x++) {
        int rgb = image.getRGB(x, y);
        int r = (rgb >> 16) & 0xFF;
        int g = (rgb >> 8) & 0xFF;
        int b = rgb & 0xFF;
        int gray = (r + g + b) / 3;
        int grayRgb = (gray << 16) | (gray << 8) | gray;
        image.setRGB(x, y, grayRgb);
    }
}

他にも、画像のリサイズ、回転、フィルタ処理など、さまざまな画像処理の方法があります。必要に応じて、さまざまな処理を組み合わせて使用することもできます。