我们讨论的空域方法是 $g(x,y)=T[f(x,y)]$
- $f(x,y)$ 是原图像
- $g(x,y)$ 是处理后的图像
书上给出了一些例子:
- 卷积神经网络中的卷积核
- 灰度变换函数 对1X1的卷积核,外面套一个函数。例如对比度拉伸,或者二值化。
灰度变换函数
图像反转
如果灰度级别是 $[0,L-1]$,那么函数是 $s=L-1-r$
效果:照片底片
对数变换
$s=c\log(1+r)$
效果:把低灰度部分扩大
幂律变换
(又称为伽马校正) $s=cr^\gamma$
- 效果:$0<\gamma<1$时,把低灰度部分扩大。$\gamma>1$时,把高灰度部分扩大
- 伽马校正的应用非常广泛。例如网站上的图片需要被各种显示器显示,各自会有伽马校正。
- 例如,有一个核磁共振图像偏暗,可以减小伽马值,然后肉眼就更容易看到细节。
- 又例如,某个图像过曝光,图像整体很亮,可以增加伽马值。
分段线性变换
如果原图的灰度值集中在某个范围内,看起来会比较模糊。使用分段函数映射后,会更清晰。
下面是例子
其它
灰度级分层:把灰度在某个范围内的值变成最大值
比特平面分层:例如8比特可以存储$2^8$个灰度值。8个比特位分别列出来,就是8个二值图。
直方图处理
这里的直方图也就是灰度值的分布图
- 过暗的图像,直方图集中在左边
- 过亮的图像,直方图集中在右边
- 低对比度的图像,直方图很集中
- 比较理想的图像,直方图接近均匀分布
对应的灰度变换函数 $s=T(r)$,满足
- $T(r)$ 单调递增(如果严格单调,就可以有逆变换,比较理想,但s和r都是整数,所以不可能)
- $r\in [0,L-1] \to T(r) \in [0,L-1]$
在此理论下,不同的操作算法,有不同的名字(参考书目里面有一堆公式,但不摘抄了)
- 直方图均衡:把直方图调整到尽量均匀分布。效果就是把偏暗、偏亮、对比度过低的图像变得很清洗
- 直方图匹配:把直方图变换到预先指定的分布。
之所以需要直方图匹配,是因为直方图均衡不总是好的。
书上举了个例子。某个图片,大部分灰度为0,剩余小部分灰度接近0,这是个很暗的图片。直方图均衡后,小部分被堆到右边一小撮,还是看不清(低对比度+过亮的图像)。
直方图匹配的目标分布,需要人为去试。 - 局部直方图处理:下面一个图,可以看到直方图的另一个缺点:白色区域有很多微小的噪点,直方图均衡后噪音被放大了。这时可以用局部直方图,每个区域内用直方图。
直方图统计
对于一些图,某些区域有细节,如何增强?
计算局部标准差$s_{x,y}$和全局标准差$s_0$。
- 如果$s_{x,y}<k_2 s_0$(其中,$0<k_2<1$)这个区域需要增强
- 为了防止对没有信息的部位增强,还限定$k_1 s_0<s_{x,y}$,其中$k_1$接近0
直方图均衡算法
算法与概率变换一模一样,其实甚至用不着这么麻烦,求rank就可以了。不过这里还是给出一个一般形式。
- step1:计算原图像的直方图 $p_r(r)$
- step2:计算PDF,记为 $G(z)$
- 求反函数 $z=G^{-1}(s)$
- 原图像到新图像的映射关系就是 $z=G^{-1}(s)$
非锐化掩蔽
算法步骤如下:
- 原图像$f(x,y)$
- 模糊原图像,记为$\bar f(x,y)$
- 计算模版 $g(x,y)=f(x,y)-\bar f(x,y)$
- $f(x,y)+kg(x,y)$
一阶微分锐化
一阶微分 \(\nabla f := \left [\begin{array}{ccc} g_x\\g_y \end{array}\right] =\left [\begin{array}{ccc} \partial f/\partial x\\\partial f/\partial y \end{array}\right]\)
这个向量有方向和大小两个属性,如果只考虑大小属性
$M(x,y)=\sqrt{g_x^2+g_y^2}$
- 不是线性算子(虽然一阶微分是线性算子)
- 是旋转不变的(虽然一阶微分不是旋转不变的)
还有一种操作 $M(x,y)=\mid g_x \mid + \mid g_y \mid $
- 丢掉了旋转不变性(仅在90度旋转时,是旋转不变的)
一阶梯度还有各种估计形式,下面写一下具体的一些。
Roberts
Roberts 算子是早期的一个算子(1965年)
\[g_x=\left [ \begin{array}{ccc} 0&0&0\\ 0&-1&0\\ 0&0&1\\ \end{array}\right], g_y=\left [ \begin{array}{ccc} 0&0&0\\ 0&0&-1\\ 0&1&0\\ \end{array}\right]\]其实原文是二阶矩阵,但是为了表示如何对齐,我这里写成了三阶矩阵了。奇数阶的卷积核比偶数阶的卷积核用起来更明确一些。
然后两种聚合方式 $M(x,y)=\sqrt{g_x^2+g_y^2}, M(x,y)=\mid g_x \mid + \mid g_y \mid $
Soble
\[g_x=\left [ \begin{array}{ccc} -1&-2&-1\\ 0&0&0\\ 1&2&1\\ \end{array}\right], g_y=\left [ \begin{array}{ccc} -1&0&1\\ -2&0&2\\ -1&0&1\\ \end{array}\right]\]同样两种聚合方式 $M(x,y)=\sqrt{g_x^2+g_y^2}, M(x,y)=\mid g_x \mid + \mid g_y \mid $
模糊论
【模糊论的相关概念见于另一篇文章】
模糊论在图像中的应用是,先定义模糊集合,然后在模糊集合上做 if-else