Matlab 自适应滑动窗口滤波器

Matlab 自适应滑动窗口滤波器,matlab,image-processing,imagefilter,Matlab,Image Processing,Imagefilter,我想创建一个对稀疏矩阵(图像)进行操作的自适应滑动窗口过滤器。我想为每个非零值的目标像素计算9x9窗口内所有非零值像素的平均值。我试着用下面的代码来做 fun = @(x) mean(x(x~=0)); B = nlfilter(A,[9 9],fun); A是要过滤的稀疏图像。代码将运行,但对于未过滤的稀疏图像中像素值为零的元素,返回一个非零值。我还想确保要计算目标像素的平均值,窗口中至少有5个非零样本。如果这是不可能的,我想继续扩大滑动窗口,直到这是实现 非常感谢您的任何建议。您看过了吗

我想创建一个对稀疏矩阵(图像)进行操作的自适应滑动窗口过滤器。我想为每个非零值的目标像素计算9x9窗口内所有非零值像素的平均值。我试着用下面的代码来做

fun = @(x) mean(x(x~=0));

B = nlfilter(A,[9 9],fun);
A是要过滤的稀疏图像。代码将运行,但对于未过滤的稀疏图像中像素值为零的元素,返回一个非零值。我还想确保要计算目标像素的平均值,窗口中至少有5个非零样本。如果这是不可能的,我想继续扩大滑动窗口,直到这是实现


非常感谢您的任何建议。

您看过了吗?好的,spfun可能有助于保持稀疏性。谢谢你的建议。有足够的样本来求平均值怎么样?你看了吗?好的,spfun可以用来保持稀疏性。谢谢你的建议。有足够的样本来计算平均值怎么样?