空间域的图像增强
基本概念
- 图像增强分为两类:
- 空间域增强:对图像的像素直接处理
- 频域增强: 修改图像的傅里叶变换(后面介绍)
- 空间域增强:g(x,y)=T(f(x,y))
- f(x,y)是原图像
- g(x,y)是处理后的图像
- T是作用于f的操作,定义在(x,y)的邻域
- 空间域增强的简化形式:s=T(r)
- 反转变换:s=(L-1)-r
[0,L-1]为图像的灰度级。作用:黑变白,白变黑 - 对数变换: s=clog(1+r)
c是常数
r≥0
有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失
解决方法是对原图进行灰度压缩,如对数变换 - 幂次变换
c和γ是正常数
γ<1提高灰度级,在正比函数上方,图像变量
γ<降低灰度级,在正比函数下方,使图像变暗 - 对比度拉伸
思想:提高图像处理时灰度级的动态范围 - 灰度级切片
1.关心范围指定较高值,其他指定较低值
2.关心范围指定较高值,其他保持不变 - 6位平面切片
位平面切片
假设图像中每个像素的灰度级是256,这可以用8位来表示,假设图像是由8个1位平面组成,范围从位平面0到位平面7。其中,位平面0包含图像中像素的最低位,位平面7包含像素的最高位
作用:
- 通过对特定位提高亮度,改善图像质量。
- 较高位(如前4位)包含大多数视觉重要数据
- 较低位(如后4位)对图像中的微小细节有作用
4.分解为位平面,可以分析每一位在图像中的相对重要性。代数运算
加法运算的定义:
C(x,y)=A(x,y)+B(x,y)
主要应用举例:
- 去除叠加性噪声
对于原图像f(x,y),有一个噪声图像集${g_i(x,y)}$, i=1,2,..N 其中$g_i(x,y)=f(x,y)+h(x,y)_ i$
假设噪声h(x,y)均值为0,且互不相关N个图像的均值定义为:期望值E(g(x,y))=f(x,y)
上述图像均值将降低噪声的影响 - 生成图像叠加效果
对于两个图像f(x,y)和h(x,y)的均值有:推广这个公式为:其中α+β=1
可以得到各种图像合成的效果,也可以用于两张图片的衔接
减法的定义:C(x,y)=A(x,y)-B(x,y)
主要应用举例:
- 显示两幅图像的差异,检测同一场景两幅图像之间的变化。如视频中镜头边界的检测
设:时间1的图像为$T_1(x,y),$
时间2的图像为$T_2(x,y)$
$g(x,y)=T_2(x,y)-T_1(x,y)$ - 去除不需要的叠加性图案
设:背景图像b(x,y),前景背景混合图像f(x,y)
g(x,y)=f(x,y)-b(x,y)
g(x,y)为去除了背景的图像 - 图像分割:如分割运动的车辆,减法去掉静止部分,剩余的是运动元素和噪声。
乘法定义:C(x,y)=A(x,y)* B(x,y)
主要应用举例:
- 图像的局部显示:用二值掩模图像与原图像做乘法
非的定义:g(x,y)=255-f(x,y)
主要应用举例:
- 获得一个阴图像
- 获得一个子图像的补图像
与运算的定义:g(x,y)=f(x,y)^h(x,y)
主要应用举例:
- 求两个子图像的相交子图
- 模板运算:提取感兴趣的子图像
或运算的定义:g(x,y)=f(x,y) V h(x,y)
主要应用举例:
- 合并子图像
- 模板运算:提取感兴趣的子图像
异或运算的定义:$g(x,y)=f(x,y)\bigoplus h(x,y)$
主要应用举例: - 获得相交子图像
直方图运算
直方图定义
- 图像直方图的定义
定义1
一个灰度级在范围[0,L-1]的数字图像直方图是一个离散函数$h(r_k)=n_k$
其中$n_k$是图像中灰度级为$r_k$的像素个数
$r_k$是第k个灰度级,k=0,1,2,….,L-1
由于$r_k$的增量是1,直方图可表示为:$p(k)=n_k$,即图像中不同灰度级像素出现的次数。
定义2
一个灰度级在范围[0,L-1]的数字图像直方图是一个离散函数$p(r_k)=n_k/n$
n是图像的像素总数
$n_k$是图像中灰度级为$r_k$的像素个数
$r_k$是第k个灰度级,k=0,1,2,…,L-1
两种图像直方图定义的比较:其中定义(2)使函数值正则化到[0,1]区间,成为实数函数;函数值的范围与像素的总数无关;给出灰度级$r_k$在图像中出现的概率密度统计
- 直方图均衡化
希望一幅图像的像素占有全部可能的灰度级,且分布均匀,能够具有高对比度;使用的方法是灰度级变换:s=T(r);基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果
s=T(r) 0≤r≤1
T(r)满足下列两个条件:
(1)T(r)在区间0≤r≤1中为单值且单调递增
(2)当0≤r≤1时,0≤T(r)≤1
条件(1)保证原图各灰度级在变换后仍保持从黑到白(从白到黑)的排列次序
条件(2)保证变换前后灰度值动态范围的一致性
$P_r(r)$是r的概率密度函数,$P_s(s)$是s的概率密度函数,$P_r(r)$和T(r)已知,且$T^{-1}(s)$满足上述条件(1),所以
应用——镜头边界的检测
什么是镜头?
一个镜头(shot)是相机的一次连续拍摄,代表的是时间和空间上一组连续的动作,是一系列相互关联的连续帧的组合。
镜头检测方法1——连续帧相减
算法原理:计算相邻两帧像素变化的数目。当超过设定的阈值时,即找到镜头的边界。
缺点:对摄像机运动敏感,如放缩、平移
解决办法:通过滤波器的使用来降低。在比较一帧的每个像素之前,用它的邻近区域的平均值来替代,这也过滤了输入图像中的一些噪声。
镜头检测算法2——直方图相减
算法原理:统计相邻两帧中所有像素在不同灰度(颜色)上的分布差异,当差异的累加值超过阈值T,即检测到镜头边界
优点:对对象运动不敏感,因为直方图忽略了帧内的空间变化
缺点:可能两个图像有类似直方图但却是完全不同的内容。然而,这种情况发生的概率较低
《Autommatic Partitioning of Full-Motion Video》
镜头检测算法3——时空切片分析
什么是时空切片?
- 颜色和纹理的不连续,表明镜头边界的出现
- 纹理的方向表明摄像机和对象的不同运动
《Video Partitioning by Temporal Slice Coherency》
空间滤波器
空间滤波:使用空间模板进行的图像处理
空间滤波器:模板本身被称为空间滤波器
- 在M×N的图像f上,使用m×n的滤波器:其中,m=2a+1,n=2b+1
w(s,t)是滤波器系数,f(x,y)是图像值空间滤波的简化形式:
$R=w_1z_1+w_2z_2+….+w_{mn}z_{mn}=\sum_{i=1}^{mn}w_iz_i$
其中,w是滤波器系数,z是与该系数对应的图像灰度值,mn为滤波器中包含的像素点总数平滑空间滤波器
- 平滑空间滤波器的作用:1.模糊处理:去除图像中一些不重要的细节2.减小噪声
- 平滑空间滤波器的分类
线性滤波器
包含在滤波器邻域内像素的平均值,也称为均值滤波器
作用:1.减少图像灰度的“尖锐”变化,减少噪声 2.由于图像边缘是图像灰度尖锐变化引起的,所以也存在边缘模糊的作用
图a是标准的像素平均,图b是加权平均。
提取感兴趣物体而模糊图像
统计排序滤波器
- 什么是统计排序滤波器?
是一种非线性滤波器
基于滤波器所在图像区域中像素的排序,由排序结果决定的值代替中心像素的值 - 分类:
中值滤波器:用像素邻域内的中间值代替该像素
主要用途:去除噪声
计算公式:$R=mid{z_k|k=1,2,3,..n}$
中值滤波算法的特点:
在去除噪音的同时,可以较好地保留边的锐度和图像的细节(由于均值滤波器)最大值滤波器:用像素邻域内的最大值代替该像素
主要用途:寻找最亮点
计算公式:$R=max{z_k|k=1,2,3,…,n}$- 最小值滤波器:用像素邻域内的最小值代替该像素
主要用途:寻找最暗点
计算公式:$R=min{z_k|k=1,2,3,…,n}$锐化滤波器
- 微分滤波器的原理
均值产生钝化效果,而均值与积分相似,由此而联想到,微分能不能产生相反的效果,即锐化的效果?结论是肯定的。
在图像处理中应用微分常用的方法是计算梯度。函数f(x,y)在(x,y)处的梯度为一个向量:
锐化滤波器的分类
- 二阶微分滤波器——拉普拉斯算子
拉普拉斯变换对图像增强的基本方法
(1)用于拉普拉斯模板中心系数为负
(2)用于拉普拉斯模板中心系数为正
例子:
- 一阶微分滤波器——梯度算子
梯度通过一个二维列向量来定义向量的模值
考虑一个3×3的图像区域,z代表灰度级,上式在点$z_5$的▽f值可以用数字方式近似。
$G_x=\frac{\partial f}{\partial x}用(z_6-z_5)近似$
$G_y=\frac{\partial f}{\partial y}用(z_8-z_5)近似$
组合为:
$|▽f|≈[(z_6-z_5)^2+(z_8-z_5)^2]^{\frac{1}{2}}$
向量数值的近似计算:
用绝对值替换平方和平方根有:
$▽f=[|G_x^2|+|G_y^2|]^{\frac{1}{2}}≈|G_x|+|G_y|$
微分过滤器的原理
$▽f≈|z_6-z_5|+|z_8-z_5|$
另外一种计算方法是使用交叉差
$▽f≈[(z_9-z_5)^2+(z_8-z_6)^2]^{\frac{1}{2}}≈|z_9-z_5|+|z_8-z_6|$
微分滤波器模板系数设计
Roberts交叉梯度算子
$▽f≈|z_9-z_5|+|z_8-z_6|$
梯度计算由两个模板组成,第一个求得梯度的第一项,第二个求得梯度的第二项,然后求和,得到梯度。
两个模板称为Roberts交叉梯度算子Prewitt梯度算子——3×3的梯度模板
$▽f≈|(z_7+z_8+z_9)-(z_1+z_2+z_3)|+|(z_3+z_6+z_9)-(z_1+z_4+z_7)|$Sobel梯度算子——3×3的梯度模板
$▽f≈|(z_7+2z_8+z_9)-(z_1+2z_2+z_3)|+|(z_3+2z_6+z_9)-(z_1+2z_4+z_7)|$