首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >高通滤波

高通滤波

作者头像
裴来凡
发布2022-05-28 16:30:30
发布2022-05-28 16:30:30
1.2K0
举报
代码语言:javascript
复制
import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png',0)#原始图像
f=np.fft.fft2(img)
fshift=np.fft.fftshift(f)#傅里叶变换
rows,cols=img.shape
crow,ccol=int(rows/2),int(cols/2)#计算中心位置坐标
fshift[crow-30:crow+30,ccol-30:ccol+30]=0#高通滤波
ishift=np.fft.ifftshift(fshift)#逆傅里叶变换
iimg=np.fft.ifft2(ishift)
iimg=np.abs(iimg)
plt.subplot(121)
plt.imshow(img,cmap='gray')
plt.title('original')
plt.axis('off')
plt.subplot(122)
plt.imshow(iimg,cmap='gray')
plt.title('iimg')
plt.axis('off')
plt.show()

算法:高通滤波将傅里叶变换结果图像中的低频分量值都替换为0,即屏蔽低频信号,只保留高频信号,实现高通滤波。高通滤波器使低频信号衰减而让高频信号通过,将增强图像中尖锐细节,但是会导致图像对比度降低。高频信号对应图像内变化越来越快的灰度分量,是由灰度尖锐过渡造成的。

  • 首先将图像进行傅里叶变换,得到其频域图像
  • 然后在频域内将低频分量的值处理为0,实现高通滤波
  • 最后,对图像进行逆傅里叶变换,得到恢复的原始图像
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档