编辑
2026-04-28
学习
00

目录

频域图像增强知识点总结
一、傅里叶变换基础
1.1 核心概念
1.2 图像中的频率
1.3 MATLAB 核心函数
1.4 为什么需要 fftshift?
二、频域滤波器
2.1 理想滤波器
理想低通滤波器(ILPF)
理想高通滤波器(IHPF)
2.2 巴特沃斯滤波器(Butterworth)
巴特沃斯低通滤波器(BLPF)
巴特沃斯高通滤波器(BHPF)
2.3 高斯滤波器(Gaussian)
高斯低通滤波器(GLPF)
高斯高通滤波器(GHPF)
三、三种滤波器对比
四、频域滤波步骤
五、高通滤波 + 常数偏移
5.1 为什么需要偏移?
5.2 解决方案
六、实验结果分析
6.1 低通滤波效果
6.2 高通滤波效果
6.3 振铃效应对比
七、关键公式总结
八、MATLAB 代码示例
8.1 理想低通滤波器
8.2 巴特沃斯低通滤波器
8.3 高斯低通滤波器
8.4 完整滤波流程
九、常见考点
9.1 简答题
9.2 计算题
十、一句话总结
参考资料

频域图像增强知识点总结

基于蓝桥杯省赛一等奖选手的实验报告整理 适用:数字图像处理(DIP)课程复习


一、傅里叶变换基础

1.1 核心概念

傅里叶变换:将图像从空域(像素位置)转换到频域(频率成分)

空域图像 f(x,y) --傅里叶变换--> 频域 F(u,v) ↑ ↓ 像素值 频率成分 (空间位置) (高低频分布)

1.2 图像中的频率

频率类型对应图像特征在频谱中的位置
低频平滑区域、整体轮廓、缓慢变化频谱中心
高频边缘、细节、噪声、快速变化频谱四周

1.3 MATLAB 核心函数

matlab
% 1. 二维傅里叶变换 F = fft2(f); % f 是输入图像,F 是频域表示 % 2. 频谱中心化(将低频移到中心) Fshift = fftshift(F); % 3. 显示频谱(取对数增强可视化) S = log(1 + abs(Fshift)); imshow(S, []); % 4. 逆傅里叶变换(回到空域) f_back = ifft2(ifftshift(Fshift));

1.4 为什么需要 fftshift?

fft2 输出: fftshift 后: 低频在四角 低频在中心 高频在中心 高频在四周 [高 低] [低 高] [低 高] --> [高 低]

便于观察:人眼习惯看中心为原点的图像


二、频域滤波器

2.1 理想滤波器

理想低通滤波器(ILPF)

原理:只允许低频通过,高频全部阻断

H(u,v)={1if D(u,v)D00if D(u,v)>D0H(u,v) = \begin{cases} 1 & \text{if } D(u,v) \leq D_0 \\ 0 & \text{if } D(u,v) > D_0 \end{cases}

其中 D(u,v)=(uM/2)2+(vN/2)2D(u,v) = \sqrt{(u-M/2)^2 + (v-N/2)^2} 是到中心的距离

效果

  • ✅ 平滑图像,去除噪声
  • ❌ 产生振铃效应(边缘有波纹)

理想高通滤波器(IHPF)

H(u,v)={0if D(u,v)D01if D(u,v)>D0H(u,v) = \begin{cases} 0 & \text{if } D(u,v) \leq D_0 \\ 1 & \text{if } D(u,v) > D_0 \end{cases}

效果

  • ✅ 增强边缘,图像锐化
  • ❌ 也会丢失部分低频信息(图像变暗)

2.2 巴特沃斯滤波器(Butterworth)

改进:平滑过渡,减少振铃效应

巴特沃斯低通滤波器(BLPF)

H(u,v)=11+[D(u,v)/D0]2nH(u,v) = \frac{1}{1 + [D(u,v)/D_0]^{2n}}
参数含义
D0D_0截止频率
nn阶数,控制过渡带陡峭程度

特点

  • n=1n=1:最平滑,振铃效应最小
  • nn 越大:越接近理想滤波器,振铃效应越明显

巴特沃斯高通滤波器(BHPF)

H(u,v)=11+[D0/D(u,v)]2nH(u,v) = \frac{1}{1 + [D_0/D(u,v)]^{2n}}

2.3 高斯滤波器(Gaussian)

最优:完全没有振铃效应

高斯低通滤波器(GLPF)

H(u,v)=eD2(u,v)/2D02H(u,v) = e^{-D^2(u,v)/2D_0^2}

高斯高通滤波器(GHPF)

H(u,v)=1eD2(u,v)/2D02H(u,v) = 1 - e^{-D^2(u,v)/2D_0^2}

特点

  • ✅ 频域和空域都是高斯形状
  • ✅ 傅里叶变换后仍是高斯
  • 无振铃效应

三、三种滤波器对比

特性理想滤波器巴特沃斯滤波器高斯滤波器
过渡带突变(阶跃)平滑过渡最平滑
振铃效应严重中等(n小则小)
边缘保留较好最好
计算复杂度
推荐使用教学演示一般应用高质量要求

四、频域滤波步骤

步骤1: 读入图像 f ↓ 步骤2: 傅里叶变换 F = fft2(f) ↓ 步骤3: 频谱中心化 Fshift = fftshift(F) ↓ 步骤4: 构建滤波器 H(与Fshift同尺寸) ↓ 步骤5: 频域相乘 G = H .* Fshift ↓ 步骤6: 逆变换 g = ifft2(ifftshift(G)) ↓ 步骤7: 取实部 result = real(g)

五、高通滤波 + 常数偏移

5.1 为什么需要偏移?

高通滤波会丢失低频信息 → 图像整体变暗

5.2 解决方案

Henhanced(u,v)=a+bHHP(u,v)H_{enhanced}(u,v) = a + b \cdot H_{HP}(u,v)

或空域处理:

g(x,y)=f(x,y)+kgHP(x,y)g(x,y) = f(x,y) + k \cdot g_{HP}(x,y)

效果:在保留边缘的同时,保持图像整体亮度


六、实验结果分析

6.1 低通滤波效果

截止频率 D0D_0效果
小(如30)非常模糊,只剩轮廓
中(如60)适度平滑,噪声减少
大(如120)轻微平滑,细节保留

6.2 高通滤波效果

参数效果
D0D_0更多高频通过,边缘增强明显
D0D_0较少高频通过,效果温和

6.3 振铃效应对比

理想低通: 巴特沃斯(n=2): 高斯低通: 边缘有波纹 边缘较平滑 边缘最自然 ████ ████ ████ █ █ █ █ █ █ █ █ █ █ █ █

七、关键公式总结

滤波器低通公式高通公式
理想H=1H=1 if DD0D\leq D_0H=0H=0 if DD0D\leq D_0
巴特沃斯11+(D/D0)2n\frac{1}{1+(D/D_0)^{2n}}11+(D0/D)2n\frac{1}{1+(D_0/D)^{2n}}
高斯eD2/2D02e^{-D^2/2D_0^2}1eD2/2D021-e^{-D^2/2D_0^2}

八、MATLAB 代码示例

8.1 理想低通滤波器

matlab
function H = ideal_lowpass(M, N, D0) % 创建频率网格 u = 0:(M-1); v = 0:(N-1); idx = find(u > M/2); u(idx) = u(idx) - M; idy = find(v > N/2); v(idy) = v(idy) - N; [V, U] = meshgrid(v, u); D = sqrt(U.^2 + V.^2); % 理想低通滤波器 H = double(D <= D0); end

8.2 巴特沃斯低通滤波器

matlab
function H = butterworth_lowpass(M, N, D0, n) % 创建频率网格 u = 0:(M-1); v = 0:(N-1); idx = find(u > M/2); u(idx) = u(idx) - M; idy = find(v > N/2); v(idy) = v(idy) - N; [V, U] = meshgrid(v, u); D = sqrt(U.^2 + V.^2); % 巴特沃斯低通滤波器 H = 1 ./ (1 + (D./D0).^(2*n)); end

8.3 高斯低通滤波器

matlab
function H = gaussian_lowpass(M, N, D0) % 创建频率网格 u = 0:(M-1); v = 0:(N-1); idx = find(u > M/2); u(idx) = u(idx) - M; idy = find(v > N/2); v(idy) = v(idy) - N; [V, U] = meshgrid(v, u); D = sqrt(U.^2 + V.^2); % 高斯低通滤波器 H = exp(-(D.^2) ./ (2*D0^2)); end

8.4 完整滤波流程

matlab
% 读取图像 f = imread('image.jpg'); f = rgb2gray(f); f = im2double(f); % 傅里叶变换 F = fft2(f); Fshift = fftshift(F); % 构建滤波器(以高斯低通为例) [M, N] = size(f); D0 = 50; % 截止频率 H = gaussian_lowpass(M, N, D0); % 频域滤波 G = H .* Fshift; % 逆变换 g = ifft2(ifftshift(G)); g = real(g); % 显示结果 figure; subplot(1,2,1), imshow(f), title('原图'); subplot(1,2,2), imshow(g), title('滤波后');

九、常见考点

9.1 简答题

  1. 为什么 fftshift 后低频在中心?

    • 答:fft2 输出的频谱中,低频分布在四角,高频在中心。fftshift 将频谱四象限对调,使低频移到中心,便于观察和处理。
  2. 三种滤波器的振铃效应对比?

    • 答:理想滤波器振铃最严重(阶跃突变),巴特沃斯中等(n越小越平滑),高斯无振铃(最平滑过渡)。
  3. 高通滤波后图像为什么变暗?

    • 答:高通滤波去除了低频(直流分量和缓变区域),只保留高频(边缘),导致图像整体亮度下降。解决方法:加常数偏移或与原图叠加。

9.2 计算题

  1. 给定 4×4 图像,计算傅里叶变换
  2. 设计截止频率为 30 的理想低通滤波器
  3. 比较不同阶数巴特沃斯滤波器的差异

十、一句话总结

频域滤波 = 在频域用滤波器 H 乘以频谱 F,再逆变换回空域

低通 = 保留低频(平滑),高通 = 保留高频(锐化)

高斯最优无振铃,理想最差有振铃,巴特沃斯居中可调


参考资料

  • 实验报告:频域图像增强设计性实验
  • 教材:《数字图像处理》(冈萨雷斯)
  • MATLAB 官方文档:Image Processing Toolbox

文档整理:2026年4月27日 整理者:蓝桥杯省赛一等奖选手

本文作者:Deshill

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!