空间域处理主要分为灰度变换和空间滤波两类。灰度变换对图像的单个像素进行操作,主要以对比度和阈值处理为目的。空间滤波涉及改善性能的操作,如通过图像中每个像素的领域处理来锐化图像。
1.背景知识
空间域增强是指增强构成图像的像素,可定义为: g(x,y)=T[f(x,y)]。f(x,y)是输入图像,g(x,y)是输出图像,T是对f的一种操作,定义在(x,y)的邻域上。
领域和预定义的操作一起称为空间滤波器(掩模、核、模板)。
更大的邻域会有更多的灵活性,一般的方法是利用点(x,y)事先定义的邻域里的一个f值的函数来决定g在(x,y)的值,主要是利用所谓的模板(也称为滤波器,核,掩模)。
模板是一个小的(3×3)二维阵列,模板的系数值决定了处理的性质,如图像尖锐化等. 。以这种方法为基础的增强技术通常是指模板处理或空域滤波。
2.基本的灰度变换函数
灰度级变换函数s=T(r)三种基本类型:线性函数、对数函数、幂次函数。如下图所示。
2.1反转变换
S=L-1-r
适于处理增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。
2.2对数变换
s=c log(1+r)
使一窄带低灰度输入图像映射为一宽带输出值,可以用于扩展图像中的暗像素。
2.3幂次变换
(c,γ)
幂次曲线中的γ值决定了是把输入窄带暗值映射到宽带输出值还是把输入窄带亮值映射到宽带输出。
γ<1时,γ减小,该变换将低灰度值进行拉伸;γ>1时,γ增大,该变换将高灰度值进行拉伸。如下图所示。
幂次变换的应用:γ校正
几乎所有的CRT显示设备、摄像胶片、许多电子照相机的光电转换特性都是非线性的。所以,如果不进行校正处理的话,将无法得到好的图像处理。经γ校正后的图像如下图。
3.直方图处理
3.1直方图均衡化
3.1.1直方图均衡化处理
直方图均衡化处理:假设原图的灰度值变量为r,变换后新图的灰度值变量为s,我们希望寻找一个灰度变换函数T:s=T(r),使得概率密度函数pr(r)变换成希望的概率密度函数ps(s)。
灰度变换函数T(r)应该满足:(1)T(r)在区间[0,1]中单调递增且单值;(2)当r取任意[0,1]中的值时,都有T(r)∈[0,1]
直方图均衡化处理的计算步骤:
(3)函数作变换函数计用累积分布算图像变换后的灰度级:,扩展取整;
(4)建立输入图象与输出图象灰度级之间的对应关系,变换后灰度级范围应该和原来的范围一致。
下图为3比特(8个灰度级)图像的直方图均衡示例:
小结:因为直方图是近似的概率密度函数,所以用离散灰度级进行变换时很少得到完全平坦的结果,变换后灰度级减少,即出现灰度“简并”现象,造成一些灰度层次的损失。
3.1.2histep函数
功能:用柱状图均衡化增强对比;语法:J = histeq(I)
例如:
I = imread('pout.tif');
figure(1);subplot(211);imshow(I);subplot(212);imhist(I);
[J,T] = histeq(I);
figure(2);subplot(211);imshow(J);subplot(212);imhist(J);
figure(3);plot([0:255]/255,T);
得到的结果如下图所示:
从上图中可以看出,直方图均衡化后,在平均灰度及对比度方面的改进是非常明显的。对比度增加源于直方图在整个灰度级上的显著扩展。灰度级增加源于均衡化后的图像直方图中灰度级的平均值高于原始值,虽然并不能生成一个平坦的直方图,但它具有能增加图像灰度级的动态范围的特性。
3.2直方图匹配(规定化)
目的:将原始图象的直方图转换为期望的直方图的形状
直方图规定化的实现:
(1)求出已知图像的直方图
(4)对一个值计算满足的最接近整数;
(5)对于原始图像的每个像素,若像素值为将该值映射到其对应的灰度级,然后映射灰度级到最终灰度级。
3.3局部直方图处理
有时要需对图像小区域细节的局部增强,解决的办法就是在图像中每一个像素的邻域中,根据灰度级分布设计变换函数,然后利用前面介绍的技术来进行局部增强。
步骤:
(1)定义一个方形或矩形的区域(邻域),该区域的中心位置在某个像素点;
(2)计算该邻域的直方图,利用前面介绍的技术来得到变换函数;
(3)使用该变换函数来映射该区域的中心象素的灰度;
(4)把该区域的中心从一个像素移动至另一像素,重复(2)~(4)。
4.空间滤波基础
图像的平滑、锐化都是利用掩模操作来完成的。通过掩模操作实现一种邻域运算,待处理像素点的结果由邻域的图像像素以及相应的与邻域有相同维数的子图像得到。这些子图像被称为滤波器、掩模、核、模板或窗口。掩模运算的数学含义是卷积(或互相关)运算。掩模子图像中的值是系数值,而不是灰度值。
一般来说,使用大小为m*n的滤波器对大小为M*N的图像进行线性空间滤波,可以由下式表示:
式中,x和y是可变的,以便w中的每个像素可访问f中的每个像素。如下图所示。
5.平滑空间滤波器
用途:用于迷糊处理和减少噪声
典型的随机噪声由灰度级的急剧变化组成; 平滑处理降低了图像的“尖锐”变化; “负面效应”:图像边缘模糊化(图像边缘也由灰度级的急剧变化组成)
5.1平滑线性滤波器
用包含在滤波掩模邻域内的像素的平均灰度值去代替每个像素点的值,又叫均值滤波器。
上图显示了两个3*3的平滑滤波器,第一个滤波器产生掩模下标准的像素平均值,这从把掩模系数代入前边的线性滤波公式可清楚的看出:。
第二种掩模也叫作加权平均,使用这一术语是指不同的系数乘以像素,这样从权值上看,一些像素比另外一些更为重要。对于第二种掩模,处于掩模中心位置的像素比其他任何像素的权值都要大,因此在均值计算中给定的这一像素显得更为重要,而距离掩模中心较远的其他像素就显得不太重要了。
一幅M * N的图像经过一个m * n的加权均值滤波器的过程可由下式给出:。
虽然加权平均滤波处理的要复杂许多,但是确实减小了原图像的尖锐,变化要比平均滤波小,也就是比平均滤波在边界模糊的副作用要小。加权平均滤波在边界模糊上要弱于简单平均滤波,所以在使用时就要考虑对感兴趣的物体的呈现程度,选取合适的滤波来忽略背景的影响。
5.2统计排序滤波器
一种非线性滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值.。 最常见的是中值滤波器 。
中值滤波器算法:先将掩模内欲求的像素及其领域的像素值排序(升序或降序),确定出中值,并将中值赋予该像素点.;主要功能:使拥有不同灰度的点看起来更接近于它的邻近值; 主要用途:去除“椒盐”噪声。
因此可以利用中值滤波器降噪,效果如下图所示。
6.锐化空间滤波器
6.1基础
锐化处理的目的:是突出图像中的细节或者增强被模糊了的细节。
锐化处理可以用空间微分来完成. 微分算子的响应强度与图像在该点的突变程度有关,图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域。
对于一阶微分必须保证: 平坦段微分值为零;在灰度阶梯或斜坡的起点处微分值非零 ;沿着斜坡面微分值非零。
对于二阶微分必须保证::在平坦区微分值为零;在灰度阶梯或斜坡的起始点处微分值非零;沿着斜坡面微分值为零。
由于我们处理的是数字量,最大灰度级的变化是有限的,变换发生的最短距离是在两个相邻像素之间。
一阶微分和二阶微分的区别:
(1)一阶微分处理通常会产生较宽的边缘;
(2)二阶微分处理对细节有较强的响应,如细线和孤立点;
(3)一阶微分处理一般对灰度阶梯有较强的响应;
(4)二阶微分处理对灰度级阶梯变化产生双响应 ;
(5)二阶微分在图像中灰度值变化相似时,对线的响应要比对阶梯强,且点比线强.。
大多数应用中,对图像增强来说.二阶微分处理比一阶微分好,因为形成细节的能力强. 而一阶微分处理主要用于提取边缘。
6.2使用二阶微分锐化图像——拉普拉斯算子
所以满足上述三个公式的两个变量的离散拉普拉斯算子是:
拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。如下图所示。
由于拉普拉斯是一种微分算子,它的应用强调图像中灰度的突变及降低灰度慢变化的区域,这将产生一幅把图像中的浅灰色边线和突变点叠加到暗背景中的图像,将原始图像和拉普拉斯图像叠加到一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又可以复原背景信息。
工具箱支持一些预定义的二维空间滤波器,这些空间滤波器可以使用函数fspecial来实现。用来生成掩模w的函数语句为:
>> w= fspecial('laplacian', 0)
w =
0 1 0
1 -4 1
0 1 0
考虑使用拉普拉斯滤波器来完成如下实验:
>> g1 = imfilter(f, w, 'replicate')
>> figure, imshow(g1, [])
>> f2 = im2double(f)
>> g2 = imfilter(f2, w, 'replicate')
>> figure, imshow(g2, [])
>> g = f2 - g2
>>figure, imshow(g)
得到的结果如下图所示:
右上角的图片显示了在应用中心为-4的掩模拉普拉斯算子后的图像,明显使图像锐化,但存在一个问题,即负值全部为0,细节的增强还不如原图像明显。之后将图片转化为double类,用原图像减去拉普拉斯运算后的结果以还原图像中失去的灰色调,即在图像锐化增强细节的同时,尽可能保留图像的灰色调。最后右下角的图可以看出,其细节的表现要比原图像更好。
————————————————
版权声明:本文为CSDN博主「Flamingo_NJ」的原创文章,由于本人知识有限,本实验的代码与结果均来自上述博主。
原文链接:https://blog.csdn.net/weixin_42262128/article/details/106585214
6.3使用一阶微分锐化(非线性)图像——梯度
图像处理中的一阶微分是用梯度幅值来实现的。对于函数f(x,y),f在坐标(x,y)处的梯度定义为二维列向量:
向量的幅值表示为:
6.4微分算子小结
一阶微分算子(梯度算子)能用来:突出小缺陷;去除慢变化背景。
二阶微分算子(拉普拉斯算子)能用来:增强灰度突变处的对比度。
7.总结
通过本章的学习,了解到了灰度变换和空间滤波的代表性技术。灰度变化是对图像像素进行处理,提高图像的整体效果,能够提高图像的可辨识性。空间滤波则是通过模板运算来实现,强调像素与其周围像素的关系,理论基础是空间卷积,能够改善图像质量。
对于自己的不足,通过本章学习很明显地体现了出来。对于算法的实现没有头绪,理论结合实验的能力还需要积累。