首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现核大小为3的高斯滤波器

如何实现核大小为3的高斯滤波器
EN

Stack Overflow用户
提问于 2020-02-10 18:51:36
回答 1查看 187关注 0票数 0

有人能帮我计算高斯滤波器值吗?我看过其他相关的帖子,但找不到合适的解决方案。我有一个二维高斯方程:

代码语言:javascript
复制
def gauss2d(x,y,sigma):
    return (1/(2*math.pi*math.pow(sigma,2)))*math.exp(-0.5*
                           (pow(x,2)+pow(y,2))/pow(sigma,2))  

我想知道如何计算具有离散值的3x3或5x5高斯滤波器的元素。

EN

回答 1

Stack Overflow用户

发布于 2020-02-11 00:23:31

此实现与应用规范化时略有不同,但这只是一件微不足道的事情。

代码语言:javascript
复制
def gaussian(sigma,Y,X):
    kernel = np.zeros((Y,X))
    ax = range(X) - np.floor(X/2)
    ay = range(Y) - np.floor(Y/2)
    xx,yy = np.meshgrid(ax,ay)
    kernel = np.exp(-0.5 * (np.square(xx) + np.square(yy)))/np.square(sigma)
    kernel = kernel/np.sum(kernel)
    return kernel 

print(np.sum(gaussian(0.3,5,5)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60148832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档