今日计划: python 字典的使用; 深浅拷贝; python 文件处理
字符串是否存在于字典键值、
图像增强是采用一系列技术去改善图像的视觉效果,
或将图像转换成一种更适合于人或机器进行分析和处理
的形式。例如采用一系列技术有选择地突出某些感兴趣
的信息,同时抑制一些不需要的信息,提高图像的使用
价值。
图像增强方法从增强的作用域出发,可分为空间域
增强和频率域增强两种。
空间域增强
是直接对图像各像素进行处理;
频率域增强
是对图像经傅立叶变换后的频谱成分进行处理,然后逆傅立叶变换获得所需的图像。
注:傅立叶变换常用于将图像由空间域变换为频率域,详见:数字图像处理(三)—— 图像变换原理分析
灰度变换可调整图像的灰度动态范围或图像对比度,是图
像增强的重要手段之一。
令图像f(i,j)的灰度范围为[a,b],线性变换后图像g(i,j)的范围为[a´,b´],如图,g(i,j)与f(i,j)之间的关系式为
在曝光不足或过度的情况下,图像灰度可能会局限
在一个很小的范围内。这时在显示器上看到的将是一个
模糊不清、似乎没有灰度层次的图像。
下图是对曝光不足的图像采用线性变换对图像每一个像素灰度作线性拉伸。可有效地改善图像视觉效果。
为了突出感兴趣目标所在的灰度区间,相对抑制那些不
感兴趣的灰度区间,可采用分段线性变换。
设原图像 f ( x , y ) f(x,y) f(x,y) 在 [ 0 , M f ] [0,M_f] [0,Mf],感兴趣目标的灰度范围在 [ a , b ] [a,b] [a,b] ,欲使其灰度范围拉伸到 [ c , d ] [c,d] [c,d] ,则对应的分段线性变换表达式为
通过细心调整折线拐点的位置及控制分段直线的斜率,可对任一灰度区间进行拉伸或压缩
显示案例:
当用某些非线性函数如对数函数、指数函数等,作为映射函数时,可实现图像灰度的非线性变换。
对数变换的一般表达式为
这里 a,b,c 是为了调整曲线的位置和形状而引入的参数。当希望对图像的低灰度区较大的拉伸而对高灰度区压缩时,可采用这种变换,它能使图像灰度分布与人的视觉特性相匹配
指数变换的一般表达式为
这里参数a,b,c用来调整曲线的位置和形状。这种变换能对图像的高灰度区给予较大的拉伸。
灰度直方图反映了数字图像中每一灰度级与其出现频率
间的关系,它能描述该图像的概貌。通过修改直方图的方法
增强图像是一种实用而有效的处理技术。
直方图修整法包括直方图均衡化及直方图规定化两类。
直方图均衡化是将原图像通过某种变换,得到一幅灰度
直方图为均匀分布的新图像的方法。
设r和s分别表示归一化了的原图像灰度和经直方图修
正后的图像灰度。即
在[0,1]区间内的任一个r值,都可产生一个s值,且
T®作为变换函数,满足下列条件:
① 在 0 ≤ r ≤ 1 0≤r≤1 0≤r≤1 内为单调递增函数,保证灰度级从黑到白的次序不变;
② 在 0 ≤ r ≤ 1 0≤r≤1 0≤r≤1 内,有 0 ≤ T ( r ) ≤ 1 0≤T(r)≤1 0≤T(r)≤1 ,确保映射后的像素灰度在允许的范围内。
由概率论理论可知,如果已知随机变量r的概率密度为
p r ( r ) p_r(r) pr(r),而随机变量 s s s 是 r r r 的函数,则 s s s 的概率密度 p s ( s ) p_s(s) ps(s)可以由 p r ( r ) p_r(r) pr(r)求出。
假定随机变量s的分布函数用 F s ( s ) F_s(s) Fs(s)表示,根据分布函数
定义
利用密度函数是分布函数的导数的关系,等式两边对s
求导,有:
可见,输出图像的概率密度函数可以通过变换函数 T ( r ) T(r) T(r)
控制原图像灰度级的概率密度函数得到,因而改善原图像的
灰度层次,这就是直方图修改技术的基础。
从人眼视觉特性来考虑,一幅图像的直方图如果是均匀
分布的,即 P s ( s ) = k P_s(s)=k Ps(s)=k (归一化时 k = 1 k=1 k=1 )时,该图像色调给人的感觉比较协调。因此将原图像直方图通过 T ( r ) T(r) T(r) 调整为均匀分布的直方图,这样修正后的图像能满足人眼视觉要求。
因为归一化假定
上式表明,当变换函数为r的累积直方图函数时,能达
到直方图均衡化的目的。
对于离散的数字图像,用频率来代替概率,则变换函数
T ( r k ) T(r_k) T(rk) 的离散形式可表示为:
上式表明,均衡后各像素的灰度值 s k s_k sk 可直接由原图像的直方图算出
一幅图像的 s k s_k sk与 r k r_k rk 之间的关系称为该图像的累积灰
度直方图。
直方图均衡化示例
在某些情况下,并不一定需要具有均匀直方图的图像,有时需要具有特定的直方图的图像,以便能够增强图像中某些灰度级。
直方图规定化方法就是针对上述思想提出来的。直方图规定化是使原图像灰度直方图变成规定形状的直方图而对图像作修正的增强方法。
可见,它是对直方图均衡化处理的一种有效的扩展。直方图均衡化处理是直方图规定化的一个特例。
对于直方图规定化,下面仍从灰度连续变化的概率密度函数出发进行推导,然后推广出灰度离散的图像直方图规定化算法。
假设 p r ( r ) p_r(r) pr(r)和 p z ( z ) p_z(z) pz(z) 分别表示已归一化的原始图像灰度分布的概率密度函数和希望得到的图像的概率密度函数
首先对原始图像进行直方图均衡化,即求变换函数:
假定已得到了所希望的图像,对它也进行均衡化处理,即
它的逆变换是
这表明可由均衡化后的灰度得到希望图像的灰度。
若对原始图像和希望图像都作了均衡化处理,则二者均衡化的 p s ( s ) p_s(s) ps(s) 和 p v ( v ) p_v(v) pv(v) 相同,即都为均匀分布的密度函数。
由 s s s 代替 v v v 得 z = G − 1 ( s ) z=G^{-1}(s) z=G−1(s)
这就是所求得的变换表达式。根据上述思想,可总结出直方图规定化增强处理的步骤如下:
①对原始图像作直方图均衡化处理;
②按照希望得到的图像的灰度概率密度函数 p z ( z ) p_z(z) pz(z),求得变换函数 G ( z ) G(z) G(z) ;
③用步骤①得到的灰度级 s s s 作逆变换 z = G − 1 ( s ) z= G-1(s) z=G−1(s) 。
经过以上处理得到的图像的灰度级将具有规定的概率密度函数 p z ( z ) p_z(z) pz(z) 。
采用与直方图均衡相同的原始图像数据(64×64 像素且具有8 级灰度),其灰度级分布列于表中。给定的直方图的灰度分布列于表中。 对应的直方图如下:
利用直方图规定化方法进行图像增强的主要困难在于要构成有意义的直方图。图像经直方图规定化,其增强效果要有利于人的视觉判读或便于机器识别
图©、© 是将图像 (A) 按图 (b) 的直方图进行规定化得到的结果及其直方图。通过对比可以看出图 © 的对比度同
图(B) 接近一致,对应的直方图形状差异也不大。这样有利于影像融合处理,保证融合影像光谱特性变化小。
任何一幅原始图像,在其获取和传输等过程中,会受到各种噪声的干扰,使图像恶化,质量下降,图像模糊,特征淹没,对图像分析不利。
为了抑制噪声改善图像质量所进行的处理称图像平滑或去噪。它可以在空间域和频率域中进行。本节介绍空间域的几种平滑法。
局部平滑法是一种直接在空间域上进行平滑处理的技术。假设图像是由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是统计独立的。因此,可用邻域内各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。
设有一幅 N × N N×N N×N 的图像 f ( x , y ) f(x,y) f(x,y),若平滑图像为 g ( x , y ) g(x,y) g(x,y) ,则有
式中 x , y = 0 , 1 , … , N − 1 x,y = 0,1,…,N-1 x,y=0,1,…,N−1 ;
s s s 为 ( x , y ) (x,y) (x,y)邻域内像素坐标的集合;
M表示集合s内像素的总数。
可见邻域平均法就是将当前像素邻域内各像素的灰度平均值作为其输出值的去噪方法。
例如,对图像采用 3 × 3 3×3 3×3 的邻域平均法,对于像素 ( m , n ) (m,n) (m,n) ,其邻域像素如下:
设图像中的噪声是随机不相关的加性噪声,窗口内各点噪声是独立同分布的,经过上述平滑后,信号与噪声的方差比可望提高M倍。
这种算法简单,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。
为克服简单局部平均法的弊病,目前已提出许多保
边缘、细节的局部平滑算法。它们的出发点都集中在如
何选择邻域的大小、形状和方向、参加平均的点数以及
邻域各点的权重系数等,下面简要介绍几种算法。
对邻域平均法稍加改进,可导出超限像素平滑法。它
是将 f ( x , y ) f(x,y) f(x,y) 和邻域平均 g ( x , y ) g(x,y) g(x,y) 差的绝对值与选定的阈值进行比较,根据比较结果决定点 ( x , y ) (x,y) (x,y)的最后灰度 g ´ ( x , y ) g´(x,y) g´(x,y) 。
其表达式为
这算法对抑制椒盐噪声比较有效,对保护仅有微小灰度差的细节及纹理也有效。可见随着邻域增大,去噪能力增强,但模糊程度也大。 同局部平滑法相比,超限像元平滑法去椒盐噪声效果更好
该算法的出发点是:在n×n的窗口内,属于同一集合体的像素,它们的灰度值将高度相关。因此,可用窗口内与中心像素的灰度最接近的K个邻像素的平均灰度来代替窗口中心像素的灰度值。这就是灰度最相近的K个邻点平均法。
较小的K值使噪声方差下降较小,但保持细节效果较好;而较大的K值平滑噪声较好,但会使图像边缘模糊。
实验证明,对于3×3的窗口,取K=6为宜。
为避免消除噪声引起边缘模糊,该算法先找出环绕图像中每像素的最均匀区域,然后用这区域的灰度均值代替该像素原来的灰度值
该方法对图像上任一像素 ( x , y ) (x,y) (x,y) 的5×5邻域,采用9个掩模,其中包括一个 3×3 正方形、4 个五边形和 4 个六边形。计算各个掩模的均值和方差,对方差进行排序,最小方差所对应的掩模区的灰度均值就是像素$(x,y) $的输出值。
该方法以方差作为各个区域灰度均匀性的测度。若区域含有尖锐的边缘,它的灰度方差必定很大,而不含边缘或灰度均匀的区域,它的方差就小,那么最小方差所对应的区域就是灰度最均匀区域。因此有选择保边缘平滑法既能够消除噪声,又不破坏区域边界的细节。另外,五边形和六边形在 ( x , y ) (x,y) (x,y)处都有锐角,这样,即使像素 ( x , y ) (x,y) (x,y)位于一个复杂形状区域的锐角处,也能找到均匀的区域。从而在平滑时既不会使尖锐边缘模糊,也不会破坏边缘形状。
邻域平均法可看作一个掩模作用于图像 f ( x , y ) f(x,y) f(x,y) 的低通空间滤波,掩模就是一个滤波器,它的响应为 H ( r , s ) H(r,s) H(r,s),于是滤波输出的数字图像 g ( x , y ) g(x,y) g(x,y) 用离散卷积表示为
常用的掩模有
掩模不同,中心点或邻域的重要程度也不相同,因此,应根据问题的需要选取合适的掩模。但不管什么样的掩模,必须保证全部权系数之和为单位值,这样可保证输出图像灰度值在许可范围内,不会产生“溢出”现象。
中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,因此它是一种非线性的图像平滑法
它对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多的图像却不太合适。
对中值滤波法来说,正确选择窗口尺寸的大小是很重要的环节。一般很难事先确定最佳的窗口尺寸,需通过从小窗口到大窗口的中值滤波试验,再从中选取最佳的
离散阶跃信号、斜升信号没有受到影响。离散三角信号的顶部则变平了。对于离散的脉冲信号,当其连续出现的次数小于窗口尺寸的一半时,将被抑制掉,否则将不受影响。
一维中值滤波的概念很容易推广到二维。一般来说,二维中值滤波器比一维滤波器更能抑制噪声。
二维中值滤波器的窗口形状可以有多种,如线状、方形、十字形、圆形、菱形等(见图)。
不同形状的窗口产生不同的滤波效果,使用中必须根据
图像的内容和不同的要求加以选择。从以往的经验看,方形
或圆形窗口适宜于外轮廓线较长的物体图像,而十字形窗口
对有尖顶角状的图像效果好。
图(a)为原图像;图(b)为加椒盐噪声的图像;图©和图(d)分别为3×3、5×5模板进行中值滤波的结果。
可见中值滤波法能有效削弱椒盐噪声,且比邻域、超限像素平均法更有效
在图像的识别中常需要突出边缘和轮廓信息。图像锐化就是增强图像的边缘或轮廓。
图像平滑通过积分过程使得图像边缘模糊,图像锐化则通过微分而使图像边缘突出、清晰。
图像锐化法最常用的是梯度法。 对于图像f(x,y),在(x,
y)处的梯度定义为
梯度是一个矢量,其大小和方向为
对于离散图像处理而言,常用到梯度的大小,因此把梯度的大小习惯称为“梯度”。并且一阶偏导数采用一阶差分近似表示,即
为在锐化边缘的同时减少噪声的影响,Prewitt 从加大边缘增强算子的模板大小出发,由2x2扩大到3x3来计算差分,如图(a)所示。
Sobel 在 Prewitt 算子的基础上,对 4-邻域采用带权的方法计算差分,对应的模板如图(b)。
根据梯度计算式就可以计算 Roberts、Prewitt和Sobel梯度。一旦梯度算出后,就可根据不同的需要生成不同的梯度增强图像。
第一种输出形式
g ( x , y ) = g r a d ( x , y ) g(x,y)=grad(x,y) g(x,y)=grad(x,y)
此法的缺点是增强的图像仅显示灰度变化比较徒的边缘轮
廓,而灰度变化比较平缓或均匀的区域则呈黑色。
式中T是一个非负的阈值。适当选取T,可使明显的边缘
轮廓得到突出,又不会破坏原来灰度变化比较平缓的背景
它将明显边缘用一固定的灰度级 L G L_G LG 来表现。
此方法将背景用一个固定的灰度级 L B L_B LB 来表现,便于研究边缘灰度的变化。
这种方法将明显边缘和背景分别用灰度级 L G L_G LG 和 L B L_B LB 表示,生成二值图像,便于研究边缘所在位置。
Laplacian 算子是线性二阶微分算子。即
对离散的数字图像而言,二阶偏导数可用二阶差分近似,可推导出Laplacian算子
表达式为
▽ 2 f ( x , y ) = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) ▽2f(x,y) = f(x+1,y) + f(x-1,y) + f(x,y+1) + f(x,y-1) - 4f(x,y) ▽2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)
Laplacian增强算子为:
KaTeX parse error: Unexpected character: '' at position 51: …[ f(x+1,y)+ f(x̲1,y)+f(x,y+1)+ …
其特点是:
1、在灰度均匀的区域或斜坡中间 ▽ 2 f ( x , y ) ▽2f(x,y) ▽2f(x,y) 为 0,增强图像上像元灰度不变;
2、在斜坡底或低灰度侧形成“下冲”;而在斜坡顶或高灰度侧形成“上冲”。
高通滤波法就是用高通滤波算子和图像卷积来增强边
缘。常用的算子有:
图像增强的目的主要包括:①消除噪声,改善图像的视觉效果;②突出边缘,有利于识别和处理。前面是关于图像空间域增强的知识,下面介绍频率域增强的方法。
假定原图像为f(x,y),经傅立叶变换为F(u,v)。频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像g(x,y)。
频率域增强的一般过程如下:
图像的平滑除了在空间域中进行外,也可以在频率域中进行。由于噪声主要集中在高频部分,为去除噪声改善图像
质量,滤波器采用低通滤波器 H ( u , v ) H(u,v) H(u,v) 来抑制高频成分,通过低频成分,然后再进行逆傅立叶变换获得滤波图像,就可达到平滑图像的目的。常用的频率域低滤波器 H ( u , v ) H(u,v) H(u,v) 有四种:
二维理想高通滤波器的传递函数为
n阶Butterworth滤波器的传递函数为:
它的特性是连续性衰减,而不象理想滤波器那样陡峭
变化,即明显的不连续性。因此采用该滤波器滤波在抑制
噪声的同时,图像边缘的模糊程度大大减小,没有振铃效
应产生。
指数低通滤波器是图像处理中常用的另一种平滑滤波器。
它的传递函数为:
采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程
度较用Butterworth滤波产生的大些,无明显的振铃效应。
梯形低通滤波器是理想低通滤波器和完全平滑滤波器的
折中。它的传递函数为:
梯形低通滤波器是理想低通滤波器和完全平滑滤波器的
折中。它的传递函数为:
二维理想高通滤波器的传递函数为
n阶巴特沃斯高通滤波器的传递函数定义如下
指数高通滤波器的传递函数为
梯形高通滤波器的定义为
四种滤波函数的选用类似于低通。理想高通有明显振铃现象,即图像的边缘有抖动现象;Butterworth高通滤波效果较好,但计算复杂,其优点是有少量低频通过,H(u,v)是渐变的,振铃现象不明显.
指数高通效果比Butterworth差些,振铃现象不明显;梯形高通会产生微振铃效果,但计算简单,较常用。
一般来说,不管在图像空间域还是频率域,采用高频
滤波不但会使有用的信息增强,同时也使噪声增强。因此
不能随意地使用。
人眼的视觉特性 :
彩色增强技术是利用人眼的视觉特性,将灰度图像变成彩色图像或改变彩色图像已有彩色的分布,改善图像的可分辨性
伪彩色增强是把灰度图像的各个不同灰度级按照线性或非线性的映射函数变换成不同的彩色,得到一幅彩色图像的技术。使原图像细节更易辨认,目标更容易识别。
伪彩色增强的方法主要有密度分割法、灰度级一彩色变换和频率域伪彩色增强三种。
密度分割法是把灰度图像的灰度级从0(黑)到 M 0 M_0 M0(白)分成 N N N 个区间 I i ( i = 1 , 2 , … , N ) I_i( i=1,2,…,N) Ii(i=1,2,…,N) ,给每个区间Ii指定一种彩色 C i C_i Ci ,这样,便可以把一幅灰度图像变成一幅伪彩色图像。
该方法比较简单、直观。缺点是变换出的彩色数目有限
根据色度学原理,将原图像 f ( x , y ) f(x,y) f(x,y) 的灰度范围分段,经过红、绿、蓝三种不同变换 T R ( • ) T_R(•) TR(•)、 T G ( • ) T_G(•) TG(•) 和 T B ( • ) T_B(•) TB(•) ,变成三基色分量 I R ( x , y ) I_R(x,y) IR(x,y)、 I G ( x , y ) I_G(x,y) IG(x,y) 、 I B ( x , y ) I_B(x,y) IB(x,y),然后用它们分别去控制彩色显示器的红、绿、蓝电子枪,便可以在彩色显示器的屏幕上合成一幅彩色图像。
频率域伪彩色增强方法的步骤为:
1)把灰度图像经傅立叶变换到频率域,在频率域内用三个不同传递特性的滤波器分离成三个独立分量;
2)然后对独立分量进行逆傅立叶变换,便得到三幅代表不同频率分量的单色图像,接着对这三幅图像作进一步的处理
(如直方图均衡化);
3)最后将它们作为三基色分量分别加到彩色显示器的红、绿、蓝显示通道,得到一幅彩色图像
假彩色增强是对一幅自然彩色图像或同一景物的多光谱图像,通过映射函数变换成新的三基色分量,彩色合成使感兴趣目标呈现出与原图像中不同的、奇异的彩色。
假彩色增强目的:一是使感兴趣的目标呈现奇异的彩色或置于奇特的彩色环境中,从而更引人注目;一是使景物呈现出与人眼色觉相匹配的颜色,以提高对目标的分辨力。
多光谱图像的假彩色增强可表示为
将可见光与非可见光波段结合起来,通过假彩色处理,就能获得更丰富的信息,便于对地物识别。
对于自然景色图像,通用的线性假彩色映射可表示为
例如采用以下的映射关系
则原图像中绿色物体会呈红色,蓝色物体会呈绿色,红
色物体则呈兰色。
伪彩色增强与假彩色增强有何区别