2016-09-27 213 views
0

我想設計使用imgaussfilt在MATLAB 2 d高斯低通濾波器,使得其質量的95%處於預定半徑內高斯低通濾波器。如果西格瑪(標準差)設置爲0.5(默認),我該如何計算'FilterSize'(高斯濾波器的大小)?2-d採用imgaussfilt在MATLAB

回答

0

不,不,標準偏差控制着濾波器的擴展,所以一個小的sigma值意味着濾波器非常窄,而一個很大的值意味着它被廣泛傳播。要知道它的質量有多少在給定的半徑範圍內,你需要做一些數學...事實證明,2D高斯分佈與Rayleigh distribution有關,所以你真正需要的是標準的95%點瑞利分佈,那麼你可以相應地縮放西格瑪。

使用瑞利CDF維基百科頁面上的等式,可以很容易地發現,對於1(標準化分佈)的西格馬值,95%的點在半徑爲2.45處。因此,您應該縮放西格瑪來相應地改變分配寬度。

過濾器大小取決於您要使用多少過濾器。如果你做得太小,並且你截斷了太多的濾波器,那麼它對於高斯來說就不是一個好的近似值。另一方面,它太大了,它將毫無意義。你可以做的是使用相同的公式來找到你不再對結果感興趣的點的半徑(例如,99%,或者如果你真的想要的話,甚至可以使用95%,但是請記住你缺少了5%的數據會通過過濾器)。