python实现低通滤波,Python高斯滤波
一般来说,如果您真的关心如何获得与矩阵实验室完全相同的结果,最简单的方法就是直接查看矩阵实验室函数的源代码。
在这种情况下,编辑f特殊:
.
大小写高斯 %高斯滤波器
siz=(p2-1)/2;
std=p3
[x,y]=meshgrid(-siz(2):siz(2),-siz(1):siz(1));
arg=-(x . * x y . * y)/(2 * STD * STD);
h=exp(arg);
h(h
sumh=sum(h(:));
如果sumh ~=0,
h=h/sumh;
结束;
.
很简单,呃将它移植到计算机编程语言的时间是10分钟
将数组作为铭牌导入
def MATLAB _ style _ gauss 2d(shape=(3,3),sigma=0.5):
2D高斯掩码-应该给出和矩阵实验室相同的结果
fspecial(高斯,[形状],[西格玛])
m,n=[(ss-1 .)/2.形状为ss]
y,x=np.ogrid[-m:m 1,-n:n 1]
h=np.exp( -(x*x y*y)/(2 .*西格玛*西格玛) )
h[h]n p . finfo(h . d type).eps*h.max() ]=0
sumh=h.sum()
如果sumh!=0:
h /=sumh
返回h
这给了我相同的答案,特别是在舍入误差之内:
fspecial(高斯,5,1)
0.002969 0.013306 0.021938 0.013306 0.002969
0.013306 0.059634 0.09832 0.059634 0.013306
0.021938 0.09832 0.1621 0.09832 0.021938
0.013306 0.059634 0.09832 0.059634 0.013306
0.002969 0.013306 0.021938 0.013306 0.002969
:matlab_style_gauss2D((5,5),1)
数组([[ 0.002969,0.013306,0.021938,0.013306,0.002969],
[ 0.013306, 0.059634, 0.09832 , 0.059634, 0.013306],
[ 0.021938, 0.09832 , 0.162103, 0.09832 , 0.021938],
[ 0.013306, 0.059634, 0.09832 , 0.059634, 0.013306],
[ 0.002969, 0.013306, 0.021938, 0.013306, 0.002969]])
怎么查看电脑配置历史中提交的图片或压缩文件
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。