我希望使用Java将一张图片转换为2色,即黑白。我正在使用以下代码将其转换为灰度图像:
ColorConvertOp op = new ColorConvertOp(
ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
BufferedImage grayImage = op.filter(image, null);
但是我不确定如何修改它只转换成黑白色。
我希望使用Java将一张图片转换为2色,即黑白。我正在使用以下代码将其转换为灰度图像:
ColorConvertOp op = new ColorConvertOp(
ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
BufferedImage grayImage = op.filter(image, null);
但是我不确定如何修改它只转换成黑白色。
根据另一个回答(得到了灰度图):
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
进行操作,因为它没有二进制色彩空间。