【图像处理】怎么生成Gauss模版?
1、先定义一个Gauss分布的表达式:
import numpy as np
e=np.e
pi=np.pi
d=0.9
def 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模版。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:152
阅读量:94
阅读量:83
阅读量:63
阅读量:38