2012-03-18 4 views
6

Javaを使用してイメージを2色、白黒に変換したいと考えています。私はグレースケールに変換するために次のコードを使用しています:Javaでイメージを2色に変換する

ColorConvertOp op = new ColorConvertOp(
      ColorSpace.getInstance(ColorSpace.CS_GRAY), null); 
    BufferedImage grayImage = op.filter(image, null); 

しかし、私は白黒に変換するためにこれを変更する方法がわかりません。 (グレースケールを生成する)別の答えに基づいて

答えて

8

public static BufferedImage toBinaryImage(final BufferedImage image) { 
    final BufferedImage blackAndWhiteImage = new BufferedImage(
      image.getWidth(null), 
      image.getHeight(null), 
      BufferedImage.TYPE_BYTE_BINARY); 
    final Graphics2D g = (Graphics2D) blackAndWhiteImage.getGraphics(); 
    g.drawImage(image, 0, 0, null); 
    g.dispose(); 
    return blackAndWhiteImage; 
} 

バイナリカラースペースがないので、あなたがColorConvertOpでそれを行うことはできません。

+0

パーフェクト...これを行う完全な方法を作るためにあなたの答えを少し編集します。 –

+0

+ = 1。とてもかっこいい... – Java42

関連する問題