Я делаю 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);
}