OpenCV 模糊创建像区域一样的 lineblob

OpenCV blur creating linesblob like areas

我正在使用具有非常高内核(50 及更高)的 OpenCV 来获得非常夸张的模糊效果。 我在生成的图像上得到了这些奇怪的 line/area 之类的效果。请参考下图中的墙面区域。

这是在非常高的内核大小下模糊所固有的东西吗? 有什么技术可以消除和消除这种影响?

我正在使用 OpenFrameworksofxCV 插件。我代码的相关部分只是

 blur(camScaled, 51);

如果你不熟悉,ofxCV 本质上是一个桥梁,最终映射回这个 OpenCV 调用。

CV_EXPORTS_W void blur( InputArray src, OutputArray dst,
                    Size ksize, Point anchor=Point(-1,-1),
                    int borderType=BORDER_DEFAULT );

这种效果很正常,因为模糊意味着通过内核平均像素值。

您应该尝试保留边缘的滤波器,例如双边滤波器。 如果您仍想使用 "classic" 模糊,您可以尝试使用中值模糊而不是均值模糊,这至少会给您带来更衰减的结果。