数字图像处理笔记(二)

空间域的图像增强

基本概念

  • 图像增强分为两类:
  1. 空间域增强:对图像的像素直接处理
  2. 频域增强: 修改图像的傅里叶变换(后面介绍)
  • 空间域增强:g(x,y)=T(f(x,y))
  1. f(x,y)是原图像
  2. g(x,y)是处理后的图像
  3. T是作用于f的操作,定义在(x,y)的邻域
  • 空间域增强的简化形式:s=T(r)
  1. r是f(x,y)在任意点(x,y)的灰度级
  2. s是g(x,y)在任意点(x,y)的灰度值

    点运算

  • 反转变换:s=(L-1)-r
    [0,L-1]为图像的灰度级。作用:黑变白,白变黑
  • 对数变换: s=clog(1+r)
    c是常数
    r≥0
    有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失
    解决方法是对原图进行灰度压缩,如对数变换
  • 幂次变换
    c和γ是正常数
    γ<1提高灰度级,在正比函数上方,图像变量
    γ<降低灰度级,在正比函数下方,使图像变暗
    dot_1
  • 对比度拉伸
    思想:提高图像处理时灰度级的动态范围
    dot_2
  • 灰度级切片
    1.关心范围指定较高值,其他指定较低值
    2.关心范围指定较高值,其他保持不变
    dot_3
  • 6位平面切片
    位平面切片
    假设图像中每个像素的灰度级是256,这可以用8位来表示,假设图像是由8个1位平面组成,范围从位平面0到位平面7。其中,位平面0包含图像中像素的最低位,位平面7包含像素的最高位
    dot_4
    作用:
  1. 通过对特定位提高亮度,改善图像质量。
  2. 较高位(如前4位)包含大多数视觉重要数据
  3. 较低位(如后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)
    上述图像均值将降低噪声的影响
    add_1
    add_2
  • 生成图像叠加效果
    对于两个图像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)
主要应用举例:

  • 图像的局部显示:用二值掩模图像与原图像做乘法
    multiple

非的定义:g(x,y)=255-f(x,y)
主要应用举例:

  • 获得一个阴图像
    yin
  • 获得一个子图像的补图像
    bu

与运算的定义:g(x,y)=f(x,y)^h(x,y)
主要应用举例:

  • 求两个子图像的相交子图
    yu_1
  • 模板运算:提取感兴趣的子图像
    yu_2

或运算的定义:g(x,y)=f(x,y) V h(x,y)
主要应用举例:

  • 合并子图像
    Huo
  • 模板运算:提取感兴趣的子图像
    Huo_1
    异或运算的定义:$g(x,y)=f(x,y)\bigoplus h(x,y)$
    主要应用举例:
  • 获得相交子图像
    YiHuo

直方图运算

直方图定义

  • 图像直方图的定义
    定义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)是相机的一次连续拍摄,代表的是时间和空间上一组连续的动作,是一系列相互关联的连续帧的组合。
shot
shot_1

镜头检测方法1——连续帧相减

算法原理:计算相邻两帧像素变化的数目。当超过设定的阈值时,即找到镜头的边界。
缺点:对摄像机运动敏感,如放缩、平移
解决办法:通过滤波器的使用来降低。在比较一帧的每个像素之前,用它的邻近区域的平均值来替代,这也过滤了输入图像中的一些噪声。

镜头检测算法2——直方图相减

算法原理:统计相邻两帧中所有像素在不同灰度(颜色)上的分布差异,当差异的累加值超过阈值T,即检测到镜头边界
优点:对对象运动不敏感,因为直方图忽略了帧内的空间变化
缺点:可能两个图像有类似直方图但却是完全不同的内容。然而,这种情况发生的概率较低

《Autommatic Partitioning of Full-Motion Video》

镜头检测算法3——时空切片分析

什么是时空切片?
Slice

  • 颜色和纹理的不连续,表明镜头边界的出现
    Slice_1
  • 纹理的方向表明摄像机和对象的不同运动
    Slice_2
    《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.由于图像边缘是图像灰度尖锐变化引起的,所以也存在边缘模糊的作用
    mean
    图a是标准的像素平均,图b是加权平均。linear
    提取感兴趣物体而模糊图像

统计排序滤波器

  • 什么是统计排序滤波器?
    是一种非线性滤波器
    基于滤波器所在图像区域中像素的排序,由排序结果决定的值代替中心像素的值
  • 分类:
  1. 中值滤波器:用像素邻域内的中间值代替该像素
    主要用途:去除噪声
    计算公式:$R=mid{z_k|k=1,2,3,..n}$
    中值滤波算法的特点:
    在去除噪音的同时,可以较好地保留边的锐度和图像的细节(由于均值滤波器)

  2. 最大值滤波器:用像素邻域内的最大值代替该像素
    主要用途:寻找最亮点
    计算公式:$R=max{z_k|k=1,2,3,…,n}$

  3. 最小值滤波器:用像素邻域内的最小值代替该像素
    主要用途:寻找最暗点
    计算公式:$R=min{z_k|k=1,2,3,…,n}$

    锐化滤波器

  • 微分滤波器的原理
  1. 均值产生钝化效果,而均值与积分相似,由此而联想到,微分能不能产生相反的效果,即锐化的效果?结论是肯定的。

  2. 在图像处理中应用微分常用的方法是计算梯度。函数f(x,y)在(x,y)处的梯度为一个向量:

    锐化滤波器的分类

  3. 二阶微分滤波器——拉普拉斯算子

Laplace
拉普拉斯变换对图像增强的基本方法

(1)用于拉普拉斯模板中心系数为负
(2)用于拉普拉斯模板中心系数为正
例子:
Laplace_1

  1. 一阶微分滤波器——梯度算子
    梯度通过一个二维列向量来定义向量的模值

考虑一个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)近似$
gradient_1
组合为:
$|▽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|$

微分滤波器模板系数设计

  1. Roberts交叉梯度算子
    $▽f≈|z_9-z_5|+|z_8-z_6|$
    gradient_2
    梯度计算由两个模板组成,第一个求得梯度的第一项,第二个求得梯度的第二项,然后求和,得到梯度。
    两个模板称为Roberts交叉梯度算子
    gradient_3

  2. 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)|$
    pre

  3. 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)|$
    Sobel

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

本文标题:数字图像处理笔记(二)

文章作者:Yif Du

发布时间:2018年12月17日 - 20:12

最后更新:2018年12月20日 - 19:12

原始链接:http://yifdu.github.io/2018/12/17/数字图像处理笔记(二)/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。