Конвертировать изображение в 2 цвета в Java - PullRequest
6 голосов
/ 18 марта 2012

Я хотел бы преобразовать изображение в 2-х цветное, черно-белое, используя Java.Я использую следующий код для преобразования в оттенки серого:

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

Но я не уверен, как изменить это для преобразования в черно-белое изображение.

1 Ответ

8 голосов
/ 18 марта 2012

На основании другого ответа (который произвел оттенки серого):

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, потому что нет двоичного пространства цветов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...