在 JAVA 中使用 Opencv 模糊图像

Blur image using Opencv in JAVA

我正在研究图像模糊功能。为此,我将 opencv 与 JAVA 一起使用。但是图像的模糊比例是根据上传图像的质量而定的,这意味着如果我上传低质量图像,那么它会按预期模糊图像,但如果我上传高质量图像,那么它会非常小地模糊图像.如何将参数设置到此行,以便所有图像的模糊效果相同(意味着它与上传的图像质量无关) Imgproc.GaussianBlur(source, destination,new Size(39,39),0);

最近我也在做一些非常相似的事情。

在您的情况下,您使用的内核大小为 39*39。 因此,如果我假设您在使用大小为 500*500(源图像的宽度和高度)的图像时获得最佳结果。

因此在您的情况下,如果您的图像是 500,则使用 39 的内核大小(比率 500/39=12.82)

现在,如果您增加图像大小(高分辨率图像),也尝试以相同的比例增加内核大小。

例如,现在如果你输入一个大小为 1000*1000 的图像,那么将内核大小设置为 78。

所以基本上使用动态内核大小进行模糊。

如果你能具体说明你正在实施它的情况,你会得到更好的答案。

希望对您有所帮助。别忘了点赞哦

尝试以一致的大小转换所有图像。

示例:如果您有尺寸为 455x550 的图像,将其转换为 300x300.Likewise,则在应用模糊效果之前,您有一个一致的 dimension.convert 所有图像尺寸相同。