カラー画像を白黒画像に変換する作業を行っています。これには TYPE_BYTE_BINARY のタイプの BufferedImage を使用しています。しかし、出力画像は正しく変換されません。たとえば、画像に黒い背景に青い文字が含まれている場合、この部分の結果画像は完全に黒になります。誰でも私を助けることができますか?私のコードは以下です。
//Invert the colormodel
byte[] map = new byte[] { (byte) (255), (byte) (0) };
IndexColorModel colorModel = new IndexColorModel(1, 2, map,
map, map);
BufferedImage bufferedImage = new BufferedImage(
img.getWidth(null), img.getHeight(null),
BufferedImage.TYPE_BYTE_BINARY, colorModel);
Graphics2D g2 = bufferedImage.createGraphics();
g2.drawImage(img, 0, 0, null);
g2.dispose();