RGB平均値による2値化

RGB平均値の値によって二値化してみる。ソースコードは一部を抜粋 これがテンプレートhttp://codetter.com/?p=547

RGB平均値の値によって二値化してみる。ソースコードは一部を抜粋 これがテンプレートhttp://codetter.com/?p=547

/* 2値化のしきい値 */
public static final double THRESHOLD = 255 / 2.0;

/* 2値化のサンプル */
private static void doProcess() {
	for (int x = 0; x < image.getWidth(); x++) {
		for (int y = 0; y < image.getHeight(); y++) {
			int rgb = image.getRGB(x, y);
			double rgbAverage = getRGBAverage(rgb);
			
			if (rgbAverage <= THRESHOLD) {
				image.setRGB(x, y, 0x00FFFFFF); //しきい値以下なら白
			} else {
				image.setRGB(x, y, 0x00000000); //しきい値より大きければ黒
			}
		}
	}
}

/* rgb各成分の平均値 */
private static double getRGBAverage(int rgb) {
	int r = (rgb & 0x00FF0000) >> 16;
	int g = (rgb & 0x0000FF00) >> 8;
	int b = (rgb & 0x000000FF);

	return (r + g + b) / 3.0;
}