使用卷积核来模糊灰度图像

时间:2013-11-19 15:56:05

标签: java blur grayscale convolution

我刚刚开始学习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();

}


}

提前感谢您的帮助。

0 个答案:

没有答案