为了账号安全,请及时绑定邮箱和手机立即绑定

“sigma”是否以“gaussian_filter”的像素为单位表示?

“sigma”是否以“gaussian_filter”的像素为单位表示?

繁星点点滴滴 2021-05-30 09:13:40
我正在查看scipy.ndimage.gaussian_filter,但sigma在这里看不到什么意思。是sigma= n手段n是像素数,因此n点的所有边上的像素数内的区域对平均贡献最大?
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

是的。从SciPy计算高斯核的复杂方法(没有双关语)中,这不是很明显,但是这是一个经验验证:我将高斯核与一个a具有单个项1的向量进行卷积,从而获得了卷积。然后以通常的方式计算方差,E[X**2] - E[X]**2其中X可以以像素(np.arange(len(a)))表示。


from scipy.ndimage.filters import gaussian_filter

import numpy as np

a = np.zeros((100,))

x = np.arange(len(a))

a[len(a)//2] = 1

for sigma in range(3, 10):

    kernel = gaussian_filter(a, sigma)

    var = np.sum(x**2*kernel) - np.sum(x*kernel)**2

    print("Given sigma {}, empiric value {}".format(sigma, np.sqrt(var)))

输出:


Given sigma 3, empiric value 2.999207360674749

Given sigma 4, empiric value 3.9987184940057614

Given sigma 5, empiric value 4.998211402871647

Given sigma 6, empiric value 5.997694984501222

Given sigma 7, empiric value 6.997173172490447

Given sigma 8, empiric value 7.996647965992465

Given sigma 9, empiric value 8.99612048649375


查看完整回答
反对 回复 2021-06-01
  • 1 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信