我一直在处理一个灰度图像,它有很多盐和胡椒的噪音,并逐渐认识到MedianBlur是非常有用的。所以我使用了(cv2.medianBlur())。它起了作用,但没有达到我想要的效果。因此,我正在寻找它所使用的实际算法,并得到了以下解释:
如果内核大小(K)为5,那么对于每5个(行计数)x5(列计数)平方窗口,该窗口的中心像素将被所有元素的中值替换。例如,考虑一下这个窗口:
      [[11,  4, 17,  1,  5],
       [ 6, 14,  0, 12, 16],
       [24, 19, 13, 18, 23],
       [ 7, 11, 11, 10,  5],
       [10, 13, 23,  3,  0]] 在这里,中心元素13将被所有这些元素的中间值所取代,即11。这是正确的吗?如果是,前2行会发生什么情况,因为前两行中不可能有元素作为任何窗口的中心元素?根据我的观察(比较原始图像和处理图像),前两行也会发生变化。
发布于 2020-04-13 07:47:46
来自文件:
中值滤波器在内部使用#BORDER_REPLICATE来处理边框像素,参见#BorderTypes
https://stackoverflow.com/questions/61183379
复制相似问题