我正在做 2D 过滤,并希望在灰度 BufferedImages 上逐个元素添加。是否有现有的功能可以为我完成这项工作,还是我需要从头开始制作一个?
是否有某种矩阵类可以将栅格转换为矩阵来简化这个问题?
编辑:这是它的一般要点
BufferedImageOp opX = new ConvolveOp(new Kernel(3,3, kernelX));
BufferedImageOp opY = new ConvolveOp(new Kernel(3,3, kernelY));
BufferedImage filtImageX = opX.filter(sourceImage, null);
BufferedImage filtImageY = opY.filter(sourceImage, null);
BufferedImage outputImage = addBufferedImages(filtImageX, filtImageY);
灰度转换:
public void toGrayscale() {
BufferedImageOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
sourceImage = op.filter(sourceImage, null);
}