我刚刚开始学习java,我发现课程的这一部分非常困难。
目前我有一个灰度图像(pnm格式)的作业,我必须通过将4个像素平均为1来模糊。我已经读过有关卷积和高斯滤波器的内容,但似乎无法实现它完全进入我的代码。它是在内核之后显示为错误的过滤方法,但我似乎无法解决它而不会弄乱另一个部分。
我只是在寻找一些帮助解决这个问题的技巧。我们刚刚启动了I / O和Patterns模块,所以我提前道歉我的代码是如何基本的:
import java.awt.image.BufferedImageOp;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;
import java.io.*;
public class Picture
{
public static void main(String[] args)
{
File picture1 = new File("ComputerScience-in.pnm");
File picture2 = new File("blurredImage.pnm");
BufferedReader in = (new BufferedReader(new FileReader(picture1)));
BufferedWriter out = (new BufferedWriter(new FileWriter(picture2)));
float[] kernelMatrix =
{
0.111f, 0.111f, 0.111f,
0.111f, 0.111f, 0.111f,
0.111f, 0.111f, 0.111f,
};
BufferedImageOp op = new ConvolveOp(new Kernel(3, 3, kernelMatrix));
Object blurredImage = op.filter(picture1, picture2);
in.close();
out.write(picture1 + "\n");
out.close();
}
}
提前感谢您的帮助。