在Java中将图像转换为2色

Ste*_*eod 6 java image-processing

我想使用Java将图像转换为2色,黑色和白色.我正在使用以下代码转换为灰度:

    ColorConvertOp op = new ColorConvertOp(
             ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
    BufferedImage grayImage = op.filter(image, null);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何修改它以转换为黑白.

Vir*_*zzo 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;
}
Run Code Online (Sandbox Code Playgroud)

你不能这样做,ColorConvertOp因为没有二进制颜色空间.