我在试着模糊图像
int radius = 11;
int size = radius * 2 + 1;
float weight = 1.0f / (size * size);
float[] data = new float[size * size];
for (int i = 0; i < data.length; i++) {
data[i] = weight;
}
Kernel kernel = new Kernel(size, size, data);
ConvolveOp op = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
//tbi is BufferedImage
BufferedImage i = op.filter(tbi, null);
它会模糊图像,但不是图像的所有部分。
我所缺少的地方,这样它就会模糊完整的图像。没有任何路径。
这是因为您在此行中使用了convolveop.edge_no_op
:
ConvolveOp op = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
API文档说:
源图像边缘的像素被复制到目标中的相应像素,而不进行修改。
尝试edge_zero_fill
-这将给您黑色边框。
你也可以试着把模糊后的边缘剪掉。
它为什么不能做边的原因与算法的工作方式有关。
标准的Javaconvolveop
只有两个选项edge_zero_fill
和edge_no_op
。您需要的是JAI等价物(ConvolveDescriptor)中的选项,它是edge_reflect
(或者edge_wrap
,如果您需要重复模式)。
如果您不想使用JAI,您可以自己实现这一点,将您的图像复制到一个更大的图像,拉伸或包装边缘,应用卷积op,然后切断边缘(类似于@halex在评论部分发布的文章中“处理边缘”部分描述的技术,但根据那篇文章,您也可以让边缘保持透明)。
为了简单起见,您可以使用我的实现convolvewithedgeop
,它执行上述操作(BSD许可)。
代码将与您最初的代码相似:
// ...kernel setup as before...
Kernel kernel = new Kernel(size, size, data);
BufferedImageOp op = new ConvolveWithEdgeOp(kernel, ConvolveOp.EDGE_REFLECT, null);
BufferedImage blurred = op.filter(original, null);
该筛选器应该与任何其他BufferedImageOP
一样工作,并且应该与任何BufferedImage
一起工作。
问题内容: 我正在尝试在Java游戏中实现模糊机制。如何在运行时创建模糊效果? 问题答案: 请参阅/ Google“卷积滤镜”,这是一种根据周围像素值更改像素值的方法。因此,除了模糊之外,您还可以进行图像锐化和寻线。
安卓的模糊视图 > 原文链接 : A Blurring View for Android 作者 : Jun Luo 译者 : lvtea0105 校对者: bboyfeiyu 校对者: chaossss 状态 : 校对完成 模糊效果可以生动地表现出内容的层次感,当使用者关注重点内容,即便在模糊表面之下发生视差效果或者动态改变,也能够保持当前背景。 在IOS设备中,我们首先构造一个UIVisualE
我试图添加一个启动器图标到我的Android应用程序,但似乎与安装应用程序的分辨率有问题。我使用的设备有一个XHDPI屏幕,所以我用96x96(px)图像进行测试。我在Android Studio中使用Image Asset生成默认图标: 您可以注意到图像有点模糊,因为它已经调整了大小。它发生在我制作的每个图标上。发生了什么事?我正在使用MIUI,尽管它似乎不会影响到其他图标。 编辑:我的启动器图
问题内容: 我对Java的 varargs 方法有些困惑: 当我尝试在不传递任何参数的情况下进行调用时,将调用方法的版本。我不明白为什么;通常,编译器必须引发错误。 相比之下,当我尝试不带任何参数的情况下,以下代码会生成编译器错误: 问题答案: 这里适用的一般规则是:如果一个方法签名严格比另一个方法签名 更具体 ,则Java选择它时不会出错。 从直觉上讲,如果您可以完全删除一个方法签名,则该方法签
然后,我根据页面大小与图像大小计算缩放的维度,返回:java.awt.dimension[width=562,height=792]我使用下面的代码来计算缩放的维度: 为了实际执行图像缩放,我使用image Scalr API: 我的问题是我做错了什么?当缩放到较小的尺寸时,大的图像不应该被模糊。这与PDF页面的分辨率/大小有关吗?