第 3 章 灰度变换与空域滤波
本章概括
本章讨论空间域图像增强。内容包括灰度变换基础、常见灰度映射、直方图处理、直方图均衡与规定化、空间滤波基础、平滑滤波和锐化滤波。重点是理解不同增强方法如何改变像素灰度或邻域结构。
灰度变换与空间滤波基础
空间域处理直接在像素坐标上操作,可表示为:
$$ g(x,y)=T[f(x,y)] $$
其中 $f(x,y)$ 是输入图像,$g(x,y)$ 是输出图像,$T$ 是对单像素或邻域的处理算子。当邻域大小为 $1\times 1$ 时,处理退化为灰度变换。
灰度变换可写为:
$$ s=T(r) $$
其中 $r$ 为输入灰度,$s$ 为输出灰度。它主要用于调整亮度、对比度或突出特定灰度范围。
常见灰度变换
图像求反
图像反转变换为:
$$ s=L-1-r $$
其中 $L$ 是灰度级数。反转常用于增强暗背景中亮细节,类似底片效果。
对数变换
对数变换为:
$$ s=c\log(1+r) $$
其中 $c$ 为比例常数。该变换扩展低灰度、压缩高灰度,常用于显示傅里叶频谱这类动态范围很大的图像。
指数变换与伽马校正
伽马变换为:
$$ s=cr^\gamma $$
当 $\gamma<1$ 时,输出图像整体变亮;当 $\gamma>1$ 时,输出图像整体变暗。显示器和相机常用伽马校正补偿非线性响应。
分段线性变换
分段线性变换包括对比度拉伸、灰度级切分和比特平面分割。对比度拉伸把灰度范围扩展到更宽区间;灰度级切分突出某一灰度范围;比特平面分割把灰度值按二进制位拆分,便于观察不同位平面对图像细节的贡献。
灰度直方图
直方图统计每个灰度级出现的频数或概率:
$$ p(r_k)=\frac{n_k}{MN} $$
其中 $r_k$ 是第 $k$ 个灰度级,$n_k$ 是该灰度级像素数,$MN$ 是像素总数。直方图反映图像亮度分布,但不包含空间位置信息。
直方图均衡
连续形式的直方图均衡变换为:
$$ s=T(r)=(L-1)\int_0^r p_r(w),dw $$
其中 $p_r(w)$ 为输入灰度概率密度。该变换利用累计分布函数把灰度分布尽量拉平,从而增强整体对比度。
离散形式为:
$$ s_k=(L-1)\sum_{j=0}^{k}p_r(r_j) $$
其中 $s_k$ 是灰度 $r_k$ 映射后的结果。均衡后图像细节通常更明显,但可能放大噪声或使局部区域过增强。
直方图规定化
规定化又称直方图匹配,目标是让输出图像具有指定直方图。其基本思想是先对输入图像均衡得到 $s=T(r)$,再根据目标分布 $G(z)$ 求逆映射:
$$ z=G^{-1}(s)=G^{-1}[T(r)] $$
其中 $z$ 是最终输出灰度。规定化比均衡更可控,适合把图像调整到某种期望风格或亮度分布。
空间滤波基础
空间滤波使用模板在图像上滑动,输出像素由邻域像素加权计算:
$$ g(x,y)=\sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t) $$
其中 $w(s,t)$ 为滤波模板权重。模板权重决定滤波器是平滑、锐化还是检测边缘。
图示说明
模板滤波示意图展示了卷积核逐像素滑动的过程:每个输出像素由输入图像中对应邻域的加权和得到。核越大,参与计算的邻域越大,平滑效果越强,但边缘也越容易模糊。
平滑空间滤波器
均值滤波
均值滤波用邻域平均值替代中心像素,适合降低随机噪声,但会模糊边缘。$n\times n$ 均值模板可写为:
$$ w(s,t)=\frac{1}{n^2} $$
窗口 $n$ 越大,平滑越强,细节损失也越明显。
加权均值与高斯滤波
高斯滤波给中心像素更大权重,距离中心越远权重越小。二维高斯函数为:
$$ G(x,y)=\frac{1}{2\pi\sigma^2}\exp\left[-\frac{x^2+y^2}{2\sigma^2}\right] $$
$\sigma$ 越大,平滑范围越宽,噪声抑制更强,但边缘模糊也更明显。
中值滤波
中值滤波用邻域灰度中值替代中心像素,对椒盐噪声尤其有效。与均值滤波相比,它能更好地保留边缘,因为极端噪声点不会直接参与平均。
锐化空间滤波器
锐化强调灰度突变,用于增强边缘、细线和细节。
一阶微分与梯度
梯度幅值可表示为:
$$ \nabla f=\begin{bmatrix}G_x\G_y\end{bmatrix},\qquad |\nabla f|\approx |G_x|+|G_y| $$
$G_x$ 和 $G_y$ 分别表示水平和垂直方向灰度变化。梯度越大,边缘可能性越高。
Sobel 算子的常用模板为:
$$ S_x= \begin{bmatrix} -1 & 0 & 1\ -2 & 0 & 2\ -1 & 0 & 1 \end{bmatrix}, \quad S_y= \begin{bmatrix} -1 & -2 & -1\ 0 & 0 & 0\ 1 & 2 & 1 \end{bmatrix} $$
$S_x$ 检测垂直边缘,$S_y$ 检测水平边缘。
拉普拉斯算子
拉普拉斯是二阶微分算子:
$$ \nabla^2 f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) $$
常用模板为:
$$ \begin{bmatrix} 0 & 1 & 0\ 1 & -4 & 1\ 0 & 1 & 0 \end{bmatrix} $$
拉普拉斯对细节和噪声都敏感,实际增强时常先平滑再锐化。增强公式可写为:
$$ g(x,y)=f(x,y)-\nabla^2 f(x,y) $$
其中 $g(x,y)$ 为锐化后的图像。