为什么OpenCV MedianBlur中没有BorderType选项?

时间:2015-07-23 08:18:16

标签: c++ image opencv

我正在使用OpenCV,我开始提出这个问题,为什么例如GaussianBlur有BorderType选项,但是MedianBlur没有? 我研究过可分离滤波器,也许它与之相关? 因为GaussianBlur是可分的,但是MedianBlur不是 在OpenCV的开源代码中很难理解为什么例如这两个过滤器有这种差异。

1 个答案:

答案 0 :(得分:0)

可能是因为在中值滤波器的情况下决定不需要参数。当算法计算接近图像边界的像素的值和该像素的邻域外展空间图像域时,他们只是在实现中省略它并从仅放置在图像上的像素计算中值,但是你可以编写实现而不是省略像素将它们视为0或128或255或从它们附近的像素计算的其他值,但这可能不是好方法。

例如,如果您必须使用掩码大小等于3的中值滤波器计算图像角落的像素值,那么当您从图像上放置的四个像素计算中值时,它就完全没问题。你不需要附近的所有9个像素。添加一些插值可能会导致结果失真。