如何在Java中对BufferedImage进行去饱和处理?
什么是使BufferedImage
去饱和的最简单方法?
使用ColorConvertOp
:
public static BufferedImage desaturate(BufferedImage source) { ColorConvertOp colorConvert = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); colorConvert.filter(source, source); return source; }
更新:
确实有一种更简单的方法。 您可以使用GrayFilter
类。 这个类有什么createDisabledImage(Image i)
,它提供了一个静态实用方法(即createDisabledImage(Image i)
),它将返回图像i
的灰显版本。
话虽这么说,我认为对BufferedImage
实例进行去饱和的最简单方法如下:
BufferedImage desaturatedImage = GrayFilter.createDisabledImage(originalImage);