qpr*_*r92 13 matlab image-processing
对于具有一些噪声图像的mx n元素阵列,我想执行高斯平滑.我如何在MATLAB中做到这一点?
我读过数学涉及用一定规模的内核来平滑所有内容,但我不知道如何在MATLAB中做到这一点.
Jus*_*eel 28
希望你有图像处理工具箱.如果是这样,那么你可以使用fspecial函数创建一个高斯滤波器,如下所示:
myfilter = fspecial('gaussian',[3 3], 0.5);
Run Code Online (Sandbox Code Playgroud)
我在这里使用了hsize([3 3])和sigma(0.5)的默认值,但是你可能想要使用它们.hsize只是滤波器的大小,在这种情况下它是一个3 x 3矩阵.Sigma是高斯函数的sigma(参见fspecial函数页面的底部).
现在您可以使用imfilter过滤图像:
myfilteredimage = imfilter(unfilteredimage, myfilter, 'replicate');
Run Code Online (Sandbox Code Playgroud)
在这里,我简单地传递了未过滤图像,过滤器和一个参数,该参数说明过滤器应如何处理边界.在这种情况下,我选择了复制,它将数组边界外的输入数组值设置为最接近的数组边界值,但您可以尝试其他一些值(或者不使用该选项将图像值之外的所有值设置为0).