public static void main(String[] args) throws IOException {
File original_f = new File(args[0]);
String[] parts= args[0].split("\\.");
String output_f = parts[0]+"_bin";
original = ImageIO.read(original_f);
grayscale = toGray(original);
binarized = binarize(grayscale); //Converts pixel of image in black((0,0,0)) or white( (255,255,255) )
writeImage(output_f,parts[1]);
}
private static void writeImage(String output, String part) throws IOException {
File file = new File(output+".bmp");
ImageIO.write(binarized, "bmp", file);
}
画像を二値化した後、正しい答えが得られます。二値化されたピクセル (コード内の変数) は、 (0,0,0) または (255,255,255) のいずれかです。
しかし、Image を jpg 形式で書き込んだ後、ピクセルは正しくなくなり、イメージを bmp 形式で書き込めば、ピクセルは正しくなります。
誰が理由を説明できますか???