引言
点运算将输入图象映射为输出图象,输出图象每个像素点的灰度值仅由对应的输入像素点的值决定。它常用于改变图象的灰度范围及分布,是图象数字化及图像显示的重要工具。点运算因其作用性质有时也被称为对比度增强、对比度拉伸或灰度变换
点运算实际上是灰度到灰度的映射过程,设输入图象为$A(x,y)$,输出图象为$B(x,y)$,则点运算可表示为:
$$ B(x,y) = f[A(x,y)] $$
即点运算完全由灰度映射函数$s=f(r)$决定。显然点运算不会改变图象内像素点之间的空间关系
点运算的应用包括:
- 显示标定(突出具有某类特性的象素,平衡传感器的不均匀性)
- 分割(阈值化处理)
- 裁剪(裁剪为一定灰度级范围的图象,以便存储和显示)
线性点运算
灰度变换函数为线性函数:$s = f(r)=a*r+b$
- 当$a < 0$时,输出图像与原图像黑白相反
- 当$|a| > 1$时,输出图象对比度增大
- 当$|a| < 1$时,输出图象对比度降低
- 当$a = 1,b≠0$时,仅使输出图象的灰度值上移或下移,其效果是使整个图象更亮或更暗
- 当$b>0$时,增加亮度
- 当$b<0$时,减小亮度
线性点运算的应用:灰度分布标准化
灰度分布标准化是将图像的灰度和灰度方差变换为标准值$\mu_0$和$\sigma_0$。设图像的灰度值矩阵为$D[W][H]$(其中$W,H$分别为图像的宽度和高度),计算器均值、方差、并作如下变换:
$$ \bar{\mu} = \frac{1}{W\cdot H}\sum_{i=0}^{W-1}\sum_{j=0}^{H-1}D[i][j]\\ \bar{\sigma}^2 = \frac{1}{W\cdot H}\sum_{i=0}^{W-1}\sum_{j=0}^{H-1}(D[i][j]-\bar{\mu})^2\\ \hat{D}[i][j] = \frac{\sigma_0}{\bar{\sigma}}(D[i][j]-\bar{\mu})+\mu_0 $$
例如,在生成平均人脸模板时,可以采用这种灰度标准化的方法,如下图所示:
非线性点运算
非线性点运算对应于非线性映射函数,典型的映射包括平方函数、对数函数、截取(窗口函数)、阈值函数、多值量化函数等。下面是几种典型的非线性点运算的映射函数图
非线性点运算应用
- 阈值化处理
阈值化处理是最常用的一种非线性运算,它的功能是选择一阈值,将图象二值化,用于图象分割及边缘跟踪等处理
- 直方图均衡化
方图均衡化是常用的一种非线性点运算,可以作为灰度标准化的一种方法