🎓 总站 🏠 本课目录 01 图像基础 02 空间滤波 03 频率滤波 04 彩色处理 05 神经网络 06 表征学习 07 Transformer 08 CNN
视觉计算 · 第2章

空间域滤波

直接在像素上操作 · 灰度变换、直方图均衡、平滑(均值/中值/高斯)与锐化(梯度/Sobel/拉普拉斯)。

📚 学习进度
0%

🎯学习目标

  • 理解空间域增强 g(x,y)=T[f(x,y)] 的基本概念;
  • 掌握灰度变换(反转、对数、幂次/伽马、灰度分层、比特平面);
  • 理解直方图及直方图均衡化、直方图匹配的原理;
  • 区分相关与卷积,掌握模板(掩膜)运算;
  • 掌握平滑滤波器:均值、加权均值、中值、最大/最小值;
  • 掌握锐化滤波器:一阶梯度(Roberts/Prewitt/Sobel)、二阶拉普拉斯。

1图像增强概述

图像增强:增加像素灰度值的动态范围,提升整体对比度与可视性。分两类:

类别处理对象
空间域增强对图像像素直接处理:g(x,y) = T[f(x,y)]
频域增强对图像的傅里叶变换处理(见第3章)

简化形式 s = T(r):r 是原图任一点灰度级,s 是处理后灰度级,T 是定义在 (x,y) 邻域上的操作。

💡 处理粒度T 作用于单个像素时是点运算(灰度变换);作用于邻域时是模板/滤波(空间滤波)

2灰度变换(点运算)

🔄

反转变换

Negative
s=(L-1)-r,黑变白、白变黑。适合增强暗区中的白色细节,如 X 光片
📉

对数变换

Log
s=c·log(1+r)。把窄范围低灰度扩展、宽范围高灰度压缩,扩展暗像素。常用于显示傅里叶频谱

幂次/伽马

Power-law
s=c·r^γγ<1 图像变亮(提升暗部),γ>1 图像变暗显示器伽马校正
输入 r 输出 s γ<1 (变亮) γ>1 (变暗)
图1 · 幂次(伽马)变换曲线:γ<1 上凸提亮,γ>1 下凹压暗

灰度级分层与比特平面

  • 灰度级分层:突出某个灰度范围——可将关心范围置高值、其它置低值(或保持不变)。
  • 比特平面分层:8 bit 像素 = 8 个 1 位平面(b₇…b₀)。高位平面(如前4位)含大部分视觉重要信息,低位平面含细微细节。可分析每一位的相对重要性。

3直方图处理

灰度级在 [0,L-1] 的图像,直方图是离散函数 p(r_k)=n_k/n(n_k 为灰度 r_k 的像素数,n 为总数)。

原始(集中→低对比) 均衡后(铺满→高对比)
图2 · 直方图均衡化:把集中的分布拉伸到全灰度范围

直方图均衡化

目标:使像素占满全部灰度级且分布均匀,获得高对比度。用灰度变换 s=T(r),T(r) 须满足:① 在 [0,L-1] 单值且单调递增;② r∈[0,L-1] 时 s∈[0,L-1]。

连续情形(变换函数取累积分布函数 CDF):
s = T(r) = (L-1) ∫₀ʳ p_r(w) dw

离散情形:
s_k = T(r_k) = (L-1) Σ_{j=0}^{k} p_r(r_j) = (L-1) Σ n_j / n

直方图匹配(规定化)

希望输出图像具有指定的直方图形状。设 p_z(z) 为指定密度,分别对 r 做均衡 s=T(r)、对 z 做均衡 G(z),再令 z=G⁻¹(s)。

⭐ 均衡 vs 匹配均衡化把分布拉成"均匀";匹配/规定化把分布变成"指定形状",更灵活。

4空间滤波与模板(掩膜)

空间滤波:使用空间模板进行的图像处理;模板本身称为空间滤波器(掩膜)。在 M×N 图像 f 上用 m×n 滤波器:

g(x,y) = Σ_{s=-a}^{a} Σ_{t=-b}^{b} w(s,t) · f(x+s, y+t)
其中 m=2a+1, n=2b+1(奇数尺寸),w(s,t) 为滤波器系数
简化形式:R = Σ wᵢ·zᵢ  (zᵢ 为模板覆盖的图像灰度值,mn 为像素总数)
💡 边界处理模板滑到图像边缘时缺少邻域像素,常用做法:① 补零填充;② 复制最近边界像素;③ 镜像反射;④ 仅在完整覆盖处计算(输出图像变小)。

5相关与卷积 ⭐

操作是否旋转滤波器说明
相关 Correlation不旋转模板按原样在图像上滑动求加权和
卷积 Convolution先旋转 180°模板翻转后再滑动;卷积是空间域与频率域过滤的纽带
3×3 模板滑动 R = w₁z₁ + w₂z₂ + … + w₉z₉中心像素 ← 加权和逐位置滑动,覆盖整幅图像
图3 · 模板(掩膜)在图像上滑动,对邻域加权求和写回中心像素

6平滑空间滤波器 ⭐

模糊处理:去除不重要细节、减小噪声。分两类:

类型滤波器特点
线性均值 / 加权均值滤波器邻域平均;减小灰度尖锐变化与噪声,但边缘也被模糊
非线性(统计排序)中值滤波器取邻域中间值;去噪同时较好保留边缘
最大值滤波器取邻域最大值,寻找最亮点
最小值滤波器取邻域最小值,寻找最暗点

均值滤波器

取邻域像素平均值。模板越大(3×3→5×5→…→35×35)模糊越强。加权均值让某些像素(如中心)更重要。

中值滤波器

把模板内像素排序取中间值:R = mid{z_k | k=1…n}。强迫突出的亮/暗点更接近周围值,消除孤立点。

  • 3×3 第 5 大为中值,5×5 第 13 大,7×7 第 25 大,9×9 第 41 大;同值像素连续排列。
  • 能有效去除椒盐噪声(脉冲噪声)——随机出现的黑/白点,其灰度往往不是中值,故被排除。
  • 去噪同时保留边的锐度与细节,优于均值滤波器
⭐ 均值 vs 中值(去椒盐噪声)均值会把椒盐噪声"摊"到邻域、边缘模糊;中值把异常的极亮/极暗点直接剔除,去脉冲噪声效果好且保边。

7锐化空间滤波器 ⭐

锐化:突出细节、增强被模糊的边缘。原理:均值(积分)→ 钝化;微分 → 锐化。常用梯度

一维一阶导数:∂f/∂x = f(x+1) - f(x)
一维二阶导数:∂²f/∂x² = f(x+1) + f(x-1) - 2f(x)

① 一阶微分(梯度法)

梯度是二维列向量 ∇f = [∂f/∂x, ∂f/∂y]ᵀ,幅值 M(x,y)=√[(∂f/∂x)²+(∂f/∂y)²] ≈ |Gx|+|Gy|。常用算子(3×3 区域 z₁…z₉,中心 z₅):

算子模板 / 公式
Roberts 交叉2×2 模板:Gx=z₉-z₅,Gy=z₈-z₆
PrewittM = |(z₇+z₈+z₉)-(z₁+z₂+z₃)| + |(z₃+z₆+z₉)-(z₁+z₄+z₇)|
SobelM = |(z₇+2z₈+z₉)-(z₁+2z₂+z₃)| + |(z₃+2z₆+z₉)-(z₁+2z₄+z₇)|
中心系数为 2,突出中心点起平滑作用
Sobel Gx(水平边缘) -1 -2 -1 0 0 0 1 2 1 拉普拉斯(4邻域) 0 1 0 1 -4 1 0 1 0 系数和=0 (平坦区响应为0)
图4 · Sobel 水平梯度模板(左)与拉普拉斯二阶微分模板(右)

② 二阶微分:拉普拉斯算子

各向同性的二阶微分。最常见模板中心为 -4(或 -8),模板系数和为 0(平坦区域无响应,只对突变响应)。增强公式:

当中心系数为负:g(x,y) = f(x,y) - ∇²f(x,y)
= 5f(x,y) - [f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]   (4邻域版)
💡 一阶 vs 二阶一阶微分(梯度)对边缘响应强、产生较粗边缘;二阶微分(拉普拉斯)对细节/孤立点更敏感,常用于增强细线和点,且会产生双边缘(过零点定位边缘)。

重点例题

例题1:3×3 均值滤波计算 邻域如下,求中心像素经 3×3 均值滤波后的值:
10 20 30
40 50 60     均值 = (10+20+30+40+50+60+70+80+90)/9
70 80 90            = 450 / 9 = 50
中心由 50 → 50(此例恰好不变,因数据线性递增、中心即均值)。
例题2:3×3 中值滤波去椒盐噪声 邻域 (10,15,20,20,20,255,20,25,20),中心是椒盐噪声 255。
解:排序 (10,15,20,20,20,20,20,25,255),第 5 大(中值)= 20。中心 255 → 20,孤立白点被消除。
对比:均值 =(10+15+20+20+20+255+20+25+20)/9 ≈ 45,噪声被"摊开"且偏离真实值,中值更优
例题3:拉普拉斯模板系数和为何为 0? 答:拉普拉斯是二阶微分。在灰度恒定(平坦)区域,二阶导数应为 0。若模板系数和为 0,则对常数邻域加权求和=0,保证平坦区无响应,只在灰度突变处(边缘、点、线)产生非零输出,从而突出细节。
例题4:Sobel 梯度幅值 3×3 区域 z₁…z₉ = (1,1,1, 1,1,1, 9,9,9)(下方一行突变)。
Gx=|(z₇+2z₈+z₉)-(z₁+2z₂+z₃)|=|(9+18+9)-(1+2+1)|=|36-4|=32;
Gy=|(z₃+2z₆+z₉)-(z₁+2z₄+z₇)|=|(1+2+9)-(1+2+9)|=0。
M=Gx+Gy=32(检测到水平边缘)。

🎯自测(点击展开)

空间域增强的一般表达式是什么?
g(x,y)=T[f(x,y)],简化为 s=T(r),T 作用于像素邻域。
伽马变换 γ<1 和 γ>1 分别使图像变亮还是变暗?
γ<1 图像变亮(提升暗部),γ>1 图像变暗。
直方图均衡化的变换函数本质是什么?
取累积分布函数 CDF:s=(L-1)·Σp(r_j),把分布拉成近似均匀。
相关与卷积的根本区别?
卷积先把模板旋转 180° 再滑动,相关不旋转。
去椒盐(脉冲)噪声为什么优先用中值滤波?
椒盐噪声是极亮/极暗孤立点,灰度往往不是中值,中值滤波直接将其排除,且保留边缘。
拉普拉斯模板系数和为什么是 0?
保证灰度恒定(平坦)区域响应为 0,只对突变处响应。

📝强化题库

选择题点选即时判分;填空题输入后"检查"或"显示答案"。

已答 0/0答对 0正确率
已答 0/0答对 0