【CV】数字图像处理



2020年04月05日    Author:Guofei

文章归类: 0x25_CV    文章编号: 1014

版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2020/04/05/digital_image_spatial.html


我们讨论的空域方法是 $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$时,把高灰度部分扩大
  • 伽马校正的应用非常广泛。例如网站上的图片需要被各种显示器显示,各自会有伽马校正。
  • 例如,有一个核磁共振图像偏暗,可以减小伽马值,然后肉眼就更容易看到细节。
  • 又例如,某个图像过曝光,图像整体很亮,可以增加伽马值。

gamma

分段线性变换

如果原图的灰度值集中在某个范围内,看起来会比较模糊。使用分段函数映射后,会更清晰。

下面是例子 2

其它

灰度级分层:把灰度在某个范围内的值变成最大值
比特平面分层:例如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,这是个很暗的图片。直方图均衡后,小部分被堆到右边一小撮,还是看不清(低对比度+过亮的图像)。
    直方图匹配的目标分布,需要人为去试。
  • 局部直方图处理:下面一个图,可以看到直方图的另一个缺点:白色区域有很多微小的噪点,直方图均衡后噪音被放大了。这时可以用局部直方图,每个区域内用直方图。

3

直方图统计
对于一些图,某些区域有细节,如何增强?
计算局部标准差$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

4

直方图均衡算法

算法与概率变换一模一样,其实甚至用不着这么麻烦,求rank就可以了。不过这里还是给出一个一般形式。

  • step1:计算原图像的直方图 $p_r(r)$
  • step2:计算PDF,记为 $G(z)$
  • 求反函数 $z=G^{-1}(s)$
  • 原图像到新图像的映射关系就是 $z=G^{-1}(s)$

非锐化掩蔽

算法步骤如下:

  1. 原图像$f(x,y)$
  2. 模糊原图像,记为$\bar f(x,y)$
  3. 计算模版 $g(x,y)=f(x,y)-\bar f(x,y)$
  4. $f(x,y)+kg(x,y)$

5

一阶微分锐化

一阶微分 \(\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


您的支持将鼓励我继续创作!