BufferedImageOp Ядро Convolution ничего не делает - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь выполнить базовую передачу ядра для свертки образа, используя пакет 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.Когда я запускаю код, он немного обрабатывается, затем успешно завершает работу и сохраняет изображение, но когда я сравниваю исходное и новое изображения, они идентичны.

При просмотре некоторых примеров кода в Интернете мой код должен работать,Я что-то упустил?

Спасибо

1 Ответ

0 голосов
/ 01 февраля 2019

Как упоминал @haraldK, мое изображение было слишком большим, чтобы заметить разницу.Код работает как положено.

...