std sigma 与 matlab 中的 fspecial sigma 不同
std sigma is not the same as fspecial sigma in matlab
f1 = fspecial('gaussian', 5, 5);
这在matlab中产生了一个5叉5矩阵,标准差为5。
但是当我这样做的时候
std(f1)
答案不在 5 左右。
幕后到底发生了什么。
您分配给 fspecial
函数的标准不是输出过滤器值 (wieght) 的标准偏差。实际上该函数的输出是 bell-shaped 分布。要对此有更好的了解,请查看以下代码的夸张版本:
f1 = fspecial('gaussian', 50, 5)
surf(f1)
输入参数中的标准差是从具有双变量标准正态 PDF 的分布中抽取的样本的标准差。它显示了分布的形状,因此,std 值越小,中心值越高,其他地方值越低,std 值越高,形状越平坦。
f1 = fspecial('gaussian', 5, 5);
这在matlab中产生了一个5叉5矩阵,标准差为5。
但是当我这样做的时候
std(f1)
答案不在 5 左右。
幕后到底发生了什么。
您分配给 fspecial
函数的标准不是输出过滤器值 (wieght) 的标准偏差。实际上该函数的输出是 bell-shaped 分布。要对此有更好的了解,请查看以下代码的夸张版本:
f1 = fspecial('gaussian', 50, 5)
surf(f1)
输入参数中的标准差是从具有双变量标准正态 PDF 的分布中抽取的样本的标准差。它显示了分布的形状,因此,std 值越小,中心值越高,其他地方值越低,std 值越高,形状越平坦。