频率域滤波步骤小结

频率域滤波步骤小结

1、给定一幅大小为M*N的输入图像f(x,y), 由P >= 2M-1,Q >= 2N-1;得到填充参数P,Q,典型的我们选择,P=2M,Q=2N;

如果滤波的目的仅是粗糙的视觉分析,可以跳过此步骤;

2、对f(x,y) 添加必要数量的0,形成大小为P*Q的图像 fp(x,y);

3、用-1^{(x+y)} 乘以fp(x,y)移到其变换中心;

4、计算来自步骤3图像的DFT,得到F(u,v);

5、生成一个实的、对称的滤波函数H(u,v),其大小为P*Q,中心在(P/2,Q/2)处。用阵列相乘形成乘积G(u,v)=H(u,v)F(u,v);

6、得到处理后的图像  

            g_{p}(x,y) = \left \{ real\left [ \Im ^{-1}\left [ G(u,v)) \right ] \right ] \right \}*-1^{(x+y))}           其中为忽略由于计算不准确导致的寄生复分量,选择了实部,下标p表示我们处理的是填充后的阵列;

还有一种处理方法是取模值;magnitude()函数

7、通过从   g^{_{p}}(x,y)  的左上限提取M*N,得到最终的处理结果。

原始图像-------------高斯模糊图像

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在Python中,可以使用NumPy和SciPy库进行频率域滤波频率域滤波是通过对图像的傅里叶变换来实现的。 下面是一个简单的示例,展示如何在Python中进行频率域滤波: ```python import numpy as np import matplotlib.pyplot as plt from scipy.fft import fft2, ifft2 # 生成一个示例图像 image = np.zeros((256, 256)) image[100:150, 100:150] = 1 # 进行二维傅里叶变换 fft_image = fft2(image) # 构建滤波器 filter = np.zeros((256, 256)) filter[120:140, 120:140] = 1 # 将滤波器应用于频率域图像 filtered_image = fft_image * filter # 进行逆傅里叶变换,得到滤波后的图像 result = np.real(ifft2(filtered_image)) # 显示原始图像和滤波后的图像 plt.subplot(1, 2, 1) plt.imshow(image, cmap='gray') plt.title('Original Image') plt.subplot(1, 2, 2) plt.imshow(result, cmap='gray') plt.title('Filtered Image') plt.show() ``` 在示例中,我们首先生成一个示例图像,并对其进行二维傅里叶变换。然后,我们构建了一个滤波器,该滤波器在图像的特定频率范围内进行滤波。接下来,我们将滤波器应用于频率域图像,并通过逆傅里叶变换得到滤波后的图像。最后,我们使用Matplotlib库显示原始图像和滤波后的图像。 需要注意的是,在实际应用中,可能需要对频率域图像进行进一步处理,如对频谱进行调整、对噪声进行过滤等。这只是一个简单的示例,希望能帮助你入门频率域滤波的Python实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dwyane05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值