在JAVA中使用Opencv模糊图像

时间:2016-04-27 05:42:27

标签: image opencv image-processing imagefilter gaussianblur

我正致力于图像模糊功能。为了实现这一点,我使用opencv和JAVA。但是图像的模糊比是根据上传图像的质量,意味着如果我上传低质量图像,那么它会按预期模糊图像,但如果我上传高质量图像,那么它会以非常小的比例模糊图像。如何将参数设置为此行,以使所有图像的模糊效果相同(表示它与上传的图像质量无关)  Imgproc.GaussianBlur(source, destination,new Size(39,39),0);

2 个答案:

答案 0 :(得分:1)

最近,即使我一直在做一些非常相似的事情。

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

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

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

例如,现在如果您提供大小为1000 * 1000的图像,则将内核大小设置为78。

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

如果您可以具体说明您的情况,那么您可以根据自己的情况获得更好的答案。

希望有所帮助。别忘了upvote。

答案 1 :(得分:0)

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

示例:如果你有尺寸为455x550的图像将其转换为300x300。同样,你有一个一致的维度。在应用模糊效果之前,转换相同维度的所有图像。