gpt4 book ai didi

java - 使用 3x3 高斯核模糊图像?

转载 作者:行者123 更新时间:2023-12-02 12:38:03 28 4
gpt4 key购买 nike

我想创建一种使用 3x3 高斯内核模糊 24 位图像的方法。

我得到了以下东西。

3x3 高斯核:

/image/YAEQR.png

A 是原始图像,B 是结果图像。

B(i,j) =
1/16 * A(i-1,j-1) +1/8 * A(i,j-1) +1/16 * A(i+1,j-1) +1/8 * A(i-1,j) +1/4 * A(i,j) +1/8 *A(i+1,j) +1/16 * A(i-1,j+1) +1/8 * A(i,j+1) +1/16 * A(i+1,j+1)

方法:

public static BufferedImage gaussianBlur(Image img)

其中 img 是输入图像的引用变量。
返回的值是结果图像的对象的地址。

我应该将图像分成9部分来实现这个方法吗?

最佳答案

您不需要将其分为 9 部分。至少,我没有看到这样做的充分理由。

但是在这个过程中你最好小心,记住将图像数据复制到某个地方并始终使用这些数据来计算新图像,避免使用新图像数据来计算新图像。

<小时/>

另外,我不明白为什么你需要编写自己的函数来对图像进行高斯模糊。这可以很容易地完成,如下所示:

float[] matrix = {
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, matrix) );
blurredImage = op.filter(sourceImage, destImage);

关于java - 使用 3x3 高斯核模糊图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746172/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com