《图像处理、分析与机器视觉》(第4版)阅读笔记——第五章 图像预处理

预处理不会增加图像的信息量,一般会降低熵。因此,从信息论的角度看,最好的预处理是没有预处理:避免(消除)预处理的最好途径是着力于高质量的图像获取。实际图像中的属于一个物体的相邻像素通常具有相同的或类似的亮度值,因此如果一个失真了的像素可以从图像中被挑出来,它也许就可以用其邻接像素的平均值来复原。

5.1 像素亮度变换

有两类像素亮度变换:亮度校正(brightness corrections)灰度级变换(gray-scale transformation)。亮度校正在修改像素的亮度时要考虑该像素原来的亮度和其在图像中的位置。灰度级变换在修改像素的亮度时无须考虑其在图像中的位置。

5.1.1 位置相关的亮度校正

只有当图像退化过程是稳定的才能使用。实际中不存在。

5.1.2  灰度级变换

直方图均衡化(histogram equalization)增强了靠近直方图极大值附近的亮度对比度,减少了极小值附近的对比度。

缺点: 
  1)变换后图像的灰度级减少,某些细节消失; 
  2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。

这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
  这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景杂讯的对比度并且降低有用信号的对比度。(【数字图像处理】直方图均衡化详解及编程实现

理论基础参考:直方图均衡化的数学原理

5.2 几何变换

几何变换可以消除图像获取时所出现的几何变形,由两个基本步骤组成,第一步是像素坐标变换(pixel co-ordinate transformation),将输入图像像素映射到输出图像。输出点的坐标将会是连续数值(实数),这是因为在变换后其位置不大可能对应于数字栅格。第二步找到与变换后的点匹配最佳的数字光栅中的点,并确定其亮度数值。该数值通常是用领域中的几个点的亮度插值(interpolation)计算的。

5.2.1 像素坐标变换

双线性变换(bilinear transform),需要至少4对对应点来解出变换系数:

                                                                     x'=a_{0}+a_{1}x+a_{2}y+a_{3}xy

                                                                     y'=b_{0}+b_{1}x+b_{2}y+b_{3}xy

仿射变换(affine transformation),比双线性变换更简单,需要需要3对对应点来解出变换系数:

                                                                     x'=a_{0}+a_{1}x+a_{2}y

                                                                     y'=b_{0}+b_{1}x+b_{2}y

雅可比行列式(Jacobian determinant)J提供了坐标系如何变化的信息。

几个重要的几何变换是:

  • 旋转(rotation)
  • 变尺度(change of scale)
  • 歪斜(斜切)(skewing)

5.2.2 亮度插值

三种常用的插值方法:最近邻、线性、双三次(bi-cubic)。

最近邻插值(nearest-neighborhood interpolation):定位误差最大是半个像素。这种误差在物体具有直线边界时就会显现出来,在变换后可能会呈现阶梯状。

线性插值(linear interpolation):可能会引起小的分辨率降低和模糊,原因在于其平均化的本性,但是减轻了阶梯状直边界的问题。

双三次插值(bi-cubic interpolation):免除了最近邻插值的阶梯状边界问题,也解决了线性插值的模糊问题。

5.3 局部预处理

平滑(smoothing)目的在于抑制噪声或其他小的波动,这等同于在傅里叶变换或抑制高频部分。缺点:也会模糊所有的含有图像重要信息的明显边缘。

梯度算子(gradient operators)目的在于在图像中显现图像函数快速变化的位置。

5.3.1 图像平滑

在限制数据有效性下的平均(averaging with limited data validaity)

根据反梯度平均(averaging according to inverse gradient)

使用旋转掩膜的平均(averaging using a rotating mask)

中值滤波(median filtering):是一种减少边缘模糊的非线性平滑方法,思想是用领域中亮度的中指代替图像当前的点。邻域中的中值不受个别噪声毛刺的影响,因此可以很好地消除冲击噪声。

非线性均值滤波(non-linear mean filter)

5.3.2 边缘检测算子(edge detectors)

描述边缘的检测子使用偏导数。图像函数的变化可以用指向图像函数最大增长方向的梯度来表示。

Roberts算子:使用当前像素的2x2邻域,主要缺点是对噪声的高度敏感性,原因是仅使用了很少几个像素来近似梯度。

Laplace算子:缺点是它对图像中的某些边缘产生双重响应。

Prewitt算子

Sobel算子:水平和垂直边缘的检测。

Kirsch算子

5.3.3 二阶导数过零点

Laplacian of Gaussian(LoG)

difference of Gaussians(DoG)

5.3.4 图像处理中的尺度

尺寸空间滤波(scale-space filtering)

尺度空间图像(scale-space image)

5.3.5 Canny边缘提取

对受白噪声影响的阶跃型边缘是最优的。Canny检测子的最优性与以下的三个标准有关:

  • 检测标准:不丢失重要的边缘,不应有虚假的边缘。
  • 定位标准:实际边缘与检测到的边缘位置之间的偏差最小。
  • 单响应标准:将多个响应降低为单个边缘响应。

5.3.6 参数化边缘模型

5.3.7 多光谱图像中的边缘

5.3.8 频域的局部预处理

最常见的图像增强问题包括噪声抑制、边缘增强和去噪,这些都能在频域内完成。

对于频率滤波,有几种滤波器很有用:其中两个重要代表是高斯滤波器巴特沃斯滤波器

另一种作用于频域的有用的预处理技术是同态滤波(homomorphic filtering),用于去除相乘性的噪声。增加对比度,同时在整幅图像内规范化图像亮度。减弱系数为0.5的巴特沃斯滤波器,可以保留适当的低频,使图像体现出更多细节。

5.3.9 用局部预处理算子作线检测

线寻找操作(Line finding operators)的目标是,寻找图像中的很细的线;它的假设是,曲线没有剧烈弯曲。常用卷积核如下:

h_{1}=\begin{bmatrix} -1&-1 &-1 \\ 2 &2 &2 \\ -1 &-1 &-1 \end{bmatrix}      h_{2}=\begin{bmatrix} 2 &-1 &-1\\ -1 & 2 &-1 \\ -1 & -1 & 2 \end{bmatrix}   h_{3}=\begin{bmatrix} -1 &2 &-1 \\ -1& 2 &-1 \\ -1&2 & -1 \end{bmatrix}   ……....................................................

类似的原则还能应用于更大的模板,通常5x5大小的模版最常用。

5.3.10 角点(兴趣点)检测

Moravec检测器(Moravec detector)是最简单的角点检测器

Harris角点检测器(Harris corner detector)对二维平移和旋转、少量光照变化、少量视角变化都不敏感,而且其计算量很小。另一方面,当有较大变化、视角变化以及对比鲜明的剧烈变化时,它就失去了原先的不变性。

5.3.11 最大稳定极值区域检测

如果图像被缩放或经过射影变换,则Harris检测器的输出也会剧烈改变。

最大稳定极值区域(Maximally Stable Extremal Regions, MSER)是一种图像结构,不仅是在平移和旋转后,即便经历相似和仿射变换,它仍可被重复检测出来。

5.4 图像复原

在抑制退化而利用有关退化性质知识的预处理方法为图像复原(image restoration)

维纳滤波

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_39880579/article/details/82688910