如图所示,我对源图像实现了 3 种模糊处理。 高斯和中值模糊看起来不错,但 Meanshift 结果让我困惑。 右侧有不连续的区域。
我实现的代码是
pyrMeanShiftFiltering(src2, dst2, 5, 25, 3);
,修改为pyrMeanShiftFiltering(src2, dst2, 2, 25, 3);
还是一样.
所以我认为这与空间窗口半径无关。
谁能解释一下为什么会发生这种情况,以及如何为我避免这种情况?
非常感谢!
================================================== =========
8/13
添加代码:
int border = 1;
copyMakeBorder(src2, src2, border, border, border, border, BORDER_CONSTANT, 0);
不幸的是,还是一样..
最佳答案
Here我可以看到相同的效果,所以看起来像是实现中的一个错误(看起来像卷积边缘效应)。您可以尝试在应用滤镜之前为图像添加边框,并在处理完成后删除边框(请参阅 opencv 的 copyMakeBorder 方法)。
关于c++ - 对导致不连续边缘的图像实现均值平移滤波器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920868/