python实现低通滤波,Python高斯滤波

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: