当前位置:   article > 正文

python 实现 巴特沃思低通滤波BLPF_blpf site:-csdn.net

blpf site:-csdn.net

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import cv2
  4. from math import sqrt,pow
  1. def blpf(image,d):
  2. f = np.fft.fft2(image)
  3. fshift = np.fft.fftshift(f)
  4. transfor_matrix = np.zeros(image.shape)
  5. M = transfor_matrix.shape[0]
  6. N = transfor_matrix.shape[1]
  7. for u in range(M):
  8. for v in range(N):
  9. D = sqrt((u-M/2)**2+(v-N/2)**2)
  10. transfor_matrix[u,v]=1/(1+pow(D/d,16))
  11. new_img = np.abs(np.fft.ifft2(np.fft.ifftshift(fshift * transfor_matrix)))
  12. return new_img
  1. b_image = blpf(img,40)
  2. plt.subplot(133)
  3. plt.axis("off")
  4. plt.title("b")
  5. plt.imshow(b_image,cmap="gray")
  6. plt.show()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/78272
推荐阅读
相关标签
  

闽ICP备14008679号