数字图像处理入门(3)-空间域图像增强

一、一些灰度变换函数

1.1、图像反转

  • 这个无需多说,对于八位灰度图像来说,就是把黑变白,白变黑。
  • 表达式:$s=255-r$
  • 作用:看清暗色图像中白色和灰色的细节。

1.2、对数变换

  • 此变换使一窄带低灰度输入图像值映射为一宽带输出值。相对的是输入灰度的高调整值。可以利用这种变换来扩展被压缩的高值图像中的暗像素。相对的是反对数变换的调整值。
  • 表达式:$s=c log(1+r)$
  • 应用:用于对数值范围过大的数据进行调整显示,如傅立叶变换后的图像数据$(0-1.5*10^6)$
  • 类似与信噪比的做法:$db = 20logX$,化成0~10,10~100,100~1000等分别以为倍数的量级

1.3、幂次变换

  • 又叫伽玛校正,和对数变换的原理差不多,不多说了,只是参数多了一个,可变宽带的输入像素值范围可选了,把低值带拉伸还是把高值拉伸要看伽马的设定了。
  • 表达式:$s = cr^y$。当y大于1时,拉神高像素在范围,图片变暗。当y小于1时,拉神低像素值的范围,图片变亮。
  • 注:黑色的灰度值为0,白色为255

1.4、分段线性变换

  • 对比拉神:不同灰度级的映射倍数不一样
  • 灰度级分层:突出显示某一个灰度级的数据,比如54~85
  • 位图切割:每一个bit分为8位,把每一位分开,单独做一个图层,分成8个图层。其中低图层贡献细节信息,高图层则贡献了视觉上大多数重要的信息。

二、直方图

2.1、直方图处理

  • 作用:对图像中的每一个灰度值进行一个数量统计,并做归一化处理。
  • 公式:$p(r_k)=n_k/MN​$,其中$r_k​$表示某一个灰度值,$n_k​$表示该灰度值的数量,M表示行,N表示列,MN表示总像素值。
  • 规律:在暗图像中,直方图主要集中在灰度级低端。在亮图像中,灰度级主要集中在灰度级高端。低对比度直方图,集中在中间。高对比度直方图集中在两端。
  • 作用:可用于图像增强(具体怎么增强,我现在不知道)。

2.2、直方图均衡

  • 概念:直方图均衡化是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。
    直方图均衡

  • 均衡化公式推导

    其中T是算子,r是输入像素值,s是输出像素值。
    对于随机变量r的概率密度公式为:

    则随机变量r的分布函数为:

    假设$T(r)$是严格递增或者严格递减函数,则说明其反函数$r=h(s)$必然存在,如果严格递增,则有:

    两边同时对s进行求导得:

    如果严格递减,则有:

    故得出以下结论:

    此时,令$s=T(r)=(L-1)\int_0^r{p_r(w)}dw$,这是一个现成的公式,来历不明白,则通过上面的公式推导,则有:

    可以看出,这是一个均匀概率密度函数,证毕!

  • 作用:当像素值过于集中的时候,图像会丢失很多信息,直方图均衡化的作用是将像素值均匀化,使其均匀分布在各个像素值的位置,这样可以做到图像视觉效果的增强。表现为:黑的地方越黑,亮的地方越亮。这个比较难理解提出问题如下
  • 问题一:为什么要选用累积分布函数
    均衡化过程中,必须要保证两个条件:
    • 像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;
    • 如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。(感觉理由还是不够充分)
  • 问题二:为什么使用累积分布函数处理后像素值会均匀分布
      从对$T(r)$公式的理解上来看,当$p_r(r)$越大的时候,增长率越大,这样就可以把比较集中的像素值分开,可以类似于下图,但是下图只是线性的拉神,无法做到均匀化。
    直方图均匀化

2.3、直方图匹配(规定化)

  • 概念:由于在2.2节中对像素值分布采用的是均匀化,但是有的时候并不想要均匀化,希望生成一个指定的概率分布形状。这个过程叫做直方图匹配
  • 公式推导:
    令目的概率分布形状为$p_z(z)$,直方图均匀化结果概率分布形状为$p_s(s)$,初始化像素概率为$p_r(r)$,其中z,s,r为像素值。则由于s都是均匀化直方图,可以令$T(r) = G(z)$就得到了关于r和z的映射关系式,证明完毕!
  • 作用:可以选择性的突出某些重点。
  • 和均匀化对比:该方法可以使用平滑一点的过度方法,而不是像均匀化一样全局拉神。

2.4、局部直方图处理

  • 概念:把一张图片分为成多个块(如8*8),进行直方图均衡处理。
  • 优点:可以避免因全局化而忽略细节情况。

2.5、直方图统计

  • 概念:通过局部的均值,方差和全局的均值、方差进行对比,选择性的增强部分区域像素。
  • 原理:均值比较来选取候选处理对象。而方差的使用,可以避免对方差为0的稳定点进行处理,同时也给定了一个测量方法
  • 公式如下:

    其中:E为放大倍数,$m_{s_{xy}}$是当前块的像素均值,$k_0$为小于1的系数,$M_G$为全局像素均值,$k_1,k_2$为小于1的系数,$\sigma_G$为全局均方差,$\sigma_{s_{xy}}$为当前区块的均方差。

  • 优点:只对特定区域进行处理。

三、空间滤波基础

  • 以下只是用空间滤波来增强图像,其他功能见后文。

3.1、空间滤波机理

3.1.1 组成部分
  • 一个领域(典型的是一个较小的矩形)
  • 对该领域包围的图像像素执行的预定义的操作组成
3.1.2 线性滤波器
  • 公式:其中:$g(x,y)$是生成像素,$w(s,t)$是系数,$f(x+s,y+t)$是输入像素
  • 功能:可以实现如3*3方块内的均值操
  • 个人理解:直接这样对像素进行滤波应该没有太大意义,,应该是给后面频域用的一个基础概念,所以书上在这里也没有写太多。

3.2、空间相关和卷积

  • 相关:是滤波器模板移过图像并计算每个位置乘积之和的处理。
  • 卷积:和上面类似,但是滤波器首先要旋转180°。(注:滤波器是一个矩阵)
  • 一维示例如下图所示:
  • 在这里了解即可,不做深入。

3.3、线性滤波的向量表示

3.4、空间滤波器模板的产生

  • 均值模板

  • 高斯函数模板

    二维高斯函数如下:

    故而,模板为:

    一般用作图片的平滑处理

四、平滑空间滤波器

  • 作用:平滑滤波器用于模糊处理和降低噪声,经常使用与预处理任务中。
  • 举例:在(大)目标提取之前去除图像中的一些琐碎细节,以及桥接直接或曲线的缝隙,通过线性滤波和非线性滤波模糊处理,可以降低噪声。

4.1 平滑线性滤波器

  • 输出:平滑线性空间滤波器的输出是包含在滤波器模板领域内的像素的简单平均值。
  • 归类:这些滤波器也被称为均值滤波器,也可以归为低通滤波器。可以使用3.3节中的均值模板,也可以使用加权模板。两者如下图所示:
    根据表格容易判断出,自己当前像素值最为重要!加权公式如下,算了,看图便知。
  • 作用:这种处理降低了图像灰度的“尖锐”变化,可以用来降低噪声。

4.2 统计排序(非线性)

  • 特点:非线性空间滤波器,这种滤波器的响应以滤波器包围的录像区域中所包含的像素的排列(队列)为基础。然后使用统计排序结果决定的值代替中心像素的值。
  • 代表滤波器:中值滤波器。他是将像素领域内的灰度的中值代替该像素的值。
  • 中值滤波器优点:使拥有不同灰度的点看起来更接近于它的相邻点。

五、锐化空间滤波器

  • 目的:锐化处理的主要目的是突出灰度的过渡部分。补偿轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。
  • 应用:图像锐化的用途多种多样,应用范围从电子印刷和医学成像到工业检测和军事系统的制导等
  • 方法:图像的模糊可以通过积分来实现(均值处理与积分类似)。而图像锐化,则需要微分来实现。

5.1 图像的一阶和二介微分

  基本上。微分算子的响应程度与图像在用算子操作的这一点的突变程度成正比,这样,图像微分增强边缘和其他突变(如噪声),而削弱灰度变化缓慢的区域。

  • 一阶微分定义

  • 二阶微分定义

  • 为什么和线性不一样:不重要。一阶表示的是变化,二阶表示的是一阶的变化,这个概念和线性一样就行。

  如下图所示,图像在过度的时候,在图像增强的过程中,边缘的斜坡是我们不想看到的,这里需要想办法把他区分出来。

  一阶和二阶的处理结果图如下所示,可以看到二阶可以更好的区分灰度过度点

5.2 使用二阶微分进行图片锐化

  基本步骤是:

  • 构造一个二阶微分离散公式
  • 构造一个该公式的滤波器模板
  • 使用把该模板与原图片进行卷积
5.2.1 公式推导
  • 一个二维图像的拉布拉斯算子定义为:

  • 滤波器模板为:
    当然可以变成负值,对角线也可以加上,如下图所示:

  • 生成的图像为:
5.2.2 实际操作

  原理太长,略。结果如图:

5.3 非锐化掩蔽和高提升滤波

  数字图像处理中图像增强算法中常用的两种技术:非锐化掩蔽和高提升滤波

5.3.1 非锐化掩蔽

  操作过程如下:

  • 平滑原图像:可以使用高斯滤波、平滑线性滤波器等,得到$\bar f(x,y)$。
  • 从原图像中减去模糊图像,得到锐化模板。$g_{mask}(x,y)=f(x,y) - \bar f(x,y)$。生成的模板图像大部分处于黑色。
  • 原图像加上该模板的一个权重部分。$g(x,y)=f(x,y)+k*g_{mask}(x,y)$。
  • 过程如下:
  • 其中k值的取值意义为:
  • 特点:
    • 系数k越大对细节增强越明显
    • 平滑减弱的边缘,锐化后增强的更加明显
5.3.2 高提升滤波

  令k>1就好

5.3.3 其他方法

  一般锐化模板其系数之和均为0,这说明算子在灰度恒定区域的响应为0,即在锐化处理后的图像中,原图像的平滑区域近乎黑色,而原图中所有的边缘、细节和灰度跳变点都作为黑背景中的高灰度部分突出显示。基于锐化的图像增强中存储希望在增强边缘和细节的同时仍然保留原图像中的信息,而非将平滑区域的灰度信息丢失,因此可以把原图像加上锐化后的图像得到比较理想的结果。其原理流程如下:

  • 图像锐化
  • 原图像与锐化图像按比例混合
  • 混合后的灰度调整(归一化至[0,255])

5.4 使用一阶微分对(非线性)图像锐化—梯度

  梯度意义表示的在位置$(x,y)$处的$f$的最大变化率方向,但是方向并没有太大意义,需要的是最大变化率的幅度。

  向量$\triangledown f$的幅度值(长度)表示为$M(x,y)$,即

  为了简化计算,改成如下式子:

  对于3*3模板来说,$g_x$和$g_y$近似值如下:

  和

生成的模板为:
  作用是用来消除没有变化,或者缓慢变化的部分。注:没有变化或者缓慢变化的像素值会趋近于零。

六、混合空间增强法

  在这之前都是使用的单一空间的增强法。但是为了达到让人满意的结果,对给特定的任务需要给出多种互补的增强技术。这里会通过多个例子将多个增强结合起来,从而完成复杂的图像增强效果。看到有一篇写的不错的文章,我现在就不写了,后面实践的时候补充。点击查看参考文章

七、使用模糊技术进行灰度变换和空间滤波

  书上的文字是看懂了,但是总有些没有看透,不知道什么时候该使用这个办法,还是经验太少,后面懂了再来补充。

八、小结

  这章主要讨论了一些图片增强的内容,但是对具体的用法还不是太懂,等实践细看,现在先把书过一遍。

-------------本文结束感谢您的阅读-------------
0%