Gauss模版上面的数据,中心区域大,越往边界越小,这些数据服从Gauss分布。下图就是高斯分布的表达式。可以看出来,在σ大小固定的情况下,点(x,y)离原点越远,函数值越小。下面,我就用高斯分布的表达式,来给出各种高斯模版。
工具/原料
1
电脑
2
python
方法/步骤
1
先定义一个Gauss分布的表达式:import numpy as npe=np.epi=np.pid=0.9def g(x,y): return e**(-(x**2+y**2)/(2*d**2))这里,我忽略了表达式的常数部分,只保留了指数函数的那部分。
2
构造一个3*3的模版,最初,所有的数值都等于0。moban=np.zeros((3,3),dtype=float)
3
Gauss分布,在x=y=0的时候有最大值,把这个最大值放到模版中心:moban[1,1]=g(0,0)
4
用for循环,把模版相应位置上的数值填满:for i in range(3): for j in range(3): moban[i,j]=g(i-1,j-1)
5
模版里面全是浮点数,我们想把数值调整为正整数。注意到模版角落里面的数值最小,所以把角落里面的数字正规化为1,而把其余数字除以最小值,并取整:for i in range(3): for j in range(3): moban[i,j]=int(g(i-1,j-1)/g(1,1))
6
包装这个函数gau(n),并用这个函数给出一个7阶的Gauss模版。
上一篇:超声波清洗机的选购