我需要做的是为Matlab中的图像处理创建一种“特殊的”中值滤波器-“有孔的”中值滤波器。这是一个过滤器,不包括位于区域中心的元素。
对于标准中值滤波器,我使用medfilt2函数,但无法将其掩码(内核)作为矩阵传递(这不是线性变换)。
例如,使用3x3标准平均滤波器,我将遮罩(内核)创建为:
h = ones(3,3)/9; 对于“有孔”平均滤波器:
h = ones(3,3)/8; h(2,2) = 0; 使用中值滤波器如何做同样的事情?有什么方法可以修改medfilt2还是我需要自己实现一个运行中值?
回答:
使用基础函数ordfilt2并在那里定义自己的域呢?
https://www.mathworks.com/help/images/ref/ordfilt2.html
更多&回答...