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;
}