Я хочу преобразовать изображение из цветного в черно-белое, которое создается с нуля. Вот код, который я попробовал, как описано на другую должность:Конвертировать цветное изображение в черно-белое с помощью java, созданного с нуля
BufferedImage bi = ImageIO.read(new File("/Users/***/Documents/Photograph.jpg"));
ColorConvertOp op =
new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
ImageIO.write(bi, "PNG", new File("/Users/bng/Documents/rendered2.png"));
op.filter(bi, bi);
Но все-таки мой образ не превращается в черный и белый. Кроме того, этот код увеличивает размер изображения rendered2.png до 10 раз. Кроме того, было бы здорово, если бы я смог найти способ Java 8 для этого. Любые предложения?
Я бы уточнил результат, который вы хотите иметь. Черно-белое изображение имеет только два цвета, также называемое бинарным изображением. Изображение в градациях серого (которое вы пытаетесь создать с помощью ColorSpace.CS_GRAY) имеет больше цветов, чем два. – Mathias