Я пытаюсь выполнить базовую передачу ядра для свертки образа, используя пакет BufferedImageOp
в java.awt.image
.Вот код, который у меня есть:
BufferedImage img = null;
File f = null;
//read image
try {
f = new File("keys.JPG");
img = ImageIO.read(f);
} catch (IOException e) {
System.out.println(e);
}
float[] gaussian = {
1/16f, 1/8f, 1/16f,
1/8f, 1/4f, 1/8f,
1/16f, 1/8f, 1/16f,
};
BufferedImageOp op = new ConvolveOp(new Kernel(3, 3, gaussian));
BufferedImage dest = op.filter(img, null);
File outputfile = new File("image.jpg");
ImageIO.write(dest, "jpg", outputfile);
Мой код пытается загрузить изображение keys.JPG
, а затем свернуть это изображение с ядром размытия по Гауссу и сохранить изображение в файл image.jpg
.Когда я запускаю код, он немного обрабатывается, затем успешно завершает работу и сохраняет изображение, но когда я сравниваю исходное и новое изображения, они идентичны.
При просмотре некоторых примеров кода в Интернете мой код должен работать,Я что-то упустил?
Спасибо