源文件地址:数字图像处理.md
概论
数字图像处理基础
人眼视觉感知
人眼 <=> 照相机
- 眼帘 <=> 镜头盖
- 瞳孔 <=> 光圈
- 晶状体 <=> 透镜
- 视网膜 <=> 底片
- 视神经细胞 <=> 感光药膜
- 视杆细胞
- 视锥细胞
人眼辨别亮度差别的能力,与环境亮度和本身亮度有关
感知亮度并不是实际灰度的简单函数(马赫带效应)
图像的感知与获取
图像获取方式:
- 单传感器
- 条传感器
- 传感器阵列
图像采样与量化
成像模型
$0<f(x,y)< \infty$
连续感知数据->数字形式
采样与量化
- 采样:空间坐标的离散化,决定图像的空间分辨率
- 量化:图像函数值(幅值)的数字化,光强,决定图像幅度(灰度级)分辨率
动态范围、饱和度、对比度
- $f(x,y):x,y \in Z,f \in Z$
图像数字化:对M、N和离散灰度级数L
- $L=2^k$
- $f \in [0,L-1]$
图像量化
- 均匀量化
- 非均匀量化
- 基于视觉特性
- 基于统计特性
空间与灰度分辨率
空间分辨率:每英寸点数表示dpi
灰度分辨率:用于量化灰度的比特数
图像内插(重采样):调整图像的大小、旋转、几何校正
- 下采样/收缩:行列删除
- 上采样/放大:创建新的像素位置,对新位置上的像素赋值
最近邻插值
原图中最近邻的灰度赋给新像素
块效应和马赛克效应
双线性插值
用四个最近邻位置上的灰度值估计给定位置的灰度值
比最近邻插值效果好,没有明显的块效应
计算量比最近邻插值大,使图像细节退化
图像的表示与描述
数学表示
二维离散信号:$I=f(x,y)$
$(x,y)$表示图像像素坐标
$f(x,y)$表示在坐标处像素的灰度值
二维矩阵
坐标索引
矩阵是按照行列的顺序来定位数据的,但是图像是在平面上定位数据的,所以有一个坐标系定义上的特殊性。
线性索引
由一个一维的非负整数串组成,通过计算到坐标(0,0)的偏移量得到
行扫描
列扫描
图像描述
灰度图像
图像中的每个像素的信息由一个量化的灰度级来描述,没有色彩信息
灰度图像像素的灰度级通常为8bits,即0~255。“0”表示纯黑色,“255”表示纯白色
黑白图像/二值图像
黑白图像是对灰度图像二值化
图像中的每个像素只能是黑或者白,没有中间的过渡,故又称二值图像,二值图像的像素值为0、1;
对二值图像进一步处理
像素间基本关系
像素是图像的基本组成单元,在图像空间中网格化排列
像素间基本关系:
- 相邻像素
- 邻接、连接、连通
- 集合间关系
像素间的距离
p,q坐标为$(x,y),(s,t)$
欧氏距离$D_E$
范数为2的距离
$D_E(p,q)= \sqrt{(x-s)^2+(y-t)^2}$
曼哈顿距离
$D_4(p,q)=|x-s|+|y-t|$
切比雪夫距离
$D_8(p,q)=max {|x-s|,|y-t| }$
测量像素在空间的接近程度
距离度量函数定义
设3个像素$p,q,r$,坐标分别为$(x,y),(s,t),(u,v)$,函数D为一个距离度量
函数,其必须满足下列三个条件
- $D(p,q) \ge 0,D(p,q)=0$当且仅当p=q 像素距离非负
- $D(p,q)=D(q,p)$ 像素距离与起终点选择无关
- $D(p,r) \le D(p,q)+D(q,r)$ 像素之间的最短距离是直线距离
邻域
4-邻域 $N_4(p)$
对角邻域 $N_D(p)$
8-邻域 $N_8(p)$
邻接性
V是用于定义邻接的灰度值集合
4-邻接
- q在p的$N_4(p)$中,且都在V中取值
- q在$N_4(p)$中意味着p在$N_4(q)$中
8-邻接
- q在p的$N_8(p)$中,且都在V中取值
- q在$N_8(p)$中意味着p在$N_8(q)$中
m-邻接/混合邻接
- 都在V中取值,满足下列条件之一:
- q在$N_4(p)$中,即p、q是4-邻接
- q在$N_D(p)$中,且$N_4(p) \cap N_4(q)=\varnothing$
m-邻接可以认为是8-邻接的一种变形,引进它是为了消除使用8-邻接时,常出现的多路问题。
连通性
像素间的通路:从具有坐标$(x_0,y_0)$的像素$p_0$到具有坐标$(x_n,y_n)$的像素q的一
条通路由一系列具有坐标$(x_0,y_0)$,$(x_1,y_1)$, …, $(x_n,y_n)$的独立像素组成,且满足:
- $(x_i,y_i)$与$(x_{i-1},y_{i-1})$邻接
- $1 \le i \le n$,n为通路长度
- 如果$(x_0,y_0)=(x_n,y_n)$,则通路称为闭合通路
- 根据不同的邻接定义,可以得到不同的通路
像素间的连通
- $S$表示图像中像素的一个子集
- 如果S中的两个像素p和q之间存在一个完全由S中像素组成的通路(通路上所有像素的灰度值均满足某个特定的相似准则),则像素p和q在S中是连通的
- 连通分量:连通到S中的任何像素p的像素集合
- 连通集: 如果S仅有一个连通分量
区域与边界
令R表示图像中像素的一个子集。若R是一个连通集,称R为图像的一个区域
若$R_i$和$R_j$形成一个连通集时,称$R_i$和$R_j$为邻接区域。
K个不相交的区域$R_k$,$R_u$表示所有K个区域的并集
$R_u$称为图像的前景,$(R_u)^c$为背景
区域的边界也称为区域的轮廓,是该区域的一个子集,但在其邻域中有不属于该区域的元素,它将该区域与其他区域分开
必须指定所用连接类型才能确定一个像素是否属于边界
数学工具
阵列与矩阵操作
线性操作与非线性操作
设操作H和两个图像$f(x,y),g(x,y)$对于常数$a_1,a_2$
$$
H[a_1f(x,y)+a_2g(x,y)]=a_1H \cdot f(x,y)+a_2H \cdot g(x,y)
$$
成立,那么称H是线性操作,否则,称为非线性操作
线性操作满足两个法则
- 比例性/同质:$y=f(x),\forall a,a \cdot y=f(a \cdot x)$
- 叠加性:$y_1=f(x_1),y_2=f(x_2),y_1+y_2=f(x_1+x_2)$
算术运算
加减乘除
集合运算和逻辑运算
空间运算
图像变换
空间域图像增强
背景知识
图像增强
对图像进行处理,使其更适合于某种特定的应用
空间域图像增强
图像平面本身,直接对像素进行操作
$$
g(x,y)=T[f(x,y)]
$$
f(x,y)是原图像,g(x,y)是处理后的图像,T是作用域f的操作,定义在(x,y)的邻域
若将邻域大小限制为1*1,简化为点运算$s=T(r)$
对比度拉伸函数、阈值处理函数
变换域图像增强
首先通过某种数学变换把图像转换(如傅立叶变换、小波变换等)到变换域后进行处理,最后再进行逆变换到空间域
一些基本的灰度变换函数
计灰度级为$[0,L-1]$
灰度变换
- 常用于改变图象的灰度范围及分布
- 也称为对比度增强、对比度拉伸或灰度变换
- 灰度变换可以是线性的,也可以是非线性(平方、对数、其它任意单调函数)
图像反转变换
$$
s=L-1-r
$$
灰度图像:黑白颠倒
彩色图像:补色
适用于增强图像中暗色区域的灰色细节部分
对数变换
$$
s=c\log(1+r)
$$
c为常数,r非负
- 把窄范围的低灰度级映射到宽范围的灰度级 (增强低灰度级)
- 把宽范围的高灰度级映射到窄范围的高灰度级 (抑制高灰度级)
- 压缩图像的动态范围, 显示图像的傅里叶频谱图像等
反对数变换
$$
s=c/\log(1+r)
$$
- 把宽范围的低灰度级映射到窄范围的灰度级 (抑制低灰度级)
- 把窄范围的高灰度级映射到宽范围的低灰度级 (增强高灰度级)
幂次(伽马)变换
$$
s=cr^\gamma,c \gt 0,r >0
$$
- $\gamma <1$:扩展暗像素值, 压缩亮像素值(提升暗区分辨能力)
- $\gamma >1$:压缩暗像素值, 扩展亮像素值(提升亮区分辨能力)
用于各种图像获取、打印和显示等设备的伽马校正
分段线性变换
将灰度级划归不同范围, 每个范围采用不同的线性变换
优点: 变换形式可根据需要任意合成
缺点: 需用户输入
主要形式:
对比度拉伸
提高图像灰度级的动态范围
灰度级分层(灰度切割)
提高图像中特定灰度范围的亮度
比特平面分层 (位图切割)
分析图像每个比特的相对重要性
直方图处理
定义
灰度级为$[0,L-1]$范围的数字图像的直方图(Histogram)是离散函数$h(r_k)=n_k(k=0,1,\dots,L-1)$;
- $r_k$是第k级灰度
- $n_k$是图像中灰度级为$r_k$的像素的个数
上述为频次直方图
归一化的直方图,为频率直方图
$h(r_k)=n_k/n(k=0,1,\dots,L-1),\sum_kh(r_k)=1$
基于直方图的图像增强技术
直方图均衡
核心:非线性拉伸
均衡化能增强图像的对比度,但不改变图像内容
在均衡过程中,原来的直方图上频数较小的灰度级被归入很少几个或一个灰度级内,造成细节损失
将原图像的直方图通过灰度变换函数$s=T(r)$对灰度进行修正,使变换后的图像中各灰度级出现的几率相当, 变换后**概率密度函数(PDF)**为均匀分布
目的:增加像素灰度值的动态范围,从而达到增强图像整体对比度的效果
- $r$和$s$为两个随机变量,定义域和值域均为闭区间 $[0,L-1]$, 随机变量$r$服从概率密度函数为$p_r(r)$的分布,随机变量$s$服从均匀分布$p_s(s)$ ,概率密度函数$p_r(r)$和均匀分布$p_s(s)$在区间$[0,L-1]$上连续可微
- $T(r)$为单调递增函数
$$
p_s(s)\sim U(0,L-1)
$$
$$
p_s(s)=\frac{1}{L-1}
$$
$$
p_s(s)ds=p_r(r)dr
$$
$$
ds=\frac{p_r(r)dr}{p_s(s)}=(L-1)p_r(r)dr
$$
变换的连续形式
$$
s=T(r)=(L-1) \int_0^r p_r(w)dw
$$
$$
p_r(r_k)=\frac{n_k}{MN},k=0,1,\dots,L-1
$$
变换的离散形式
$$
s_k=\frac{L-1}{MN}\sum_{j=0}^{k}n_j,k=0,1,\dots,L-1
$$
直方图匹配(规定化)
修改一幅图像的直方图,使得它与另一幅图像的直方图匹配或者具有一种预先规定的函数形状
突出感兴趣的灰度范围,使图像质量改善
$$
s=T(r)
$$
$$
s=G(z)
$$
$$
z=G^{-1}(s)=G^{-1}(T(r))
$$
$p_r(r)$输入图像的PDF,$p_z(z)$是规定的PDF
- 根据输入图像,得到$p_r(r)$,根据公式$s_k=T(r_k)=(L-1)\sum_{i=0}^qp_r(r_j)$
- 对于匹配的直方图$p_z(z)$,求变换函数$G(z_q)=(L-1)\sum_{i=0}^qp_z(z_i)$,四舍五入存储表中
- 对每一个$s_k$,在表中找到$z_q$对应的值,存储它们之间的映射关系,根据$s_k=G(z_q)$,求反变换函数$z_q=G^{-1}(T(r_k))$得到r到z的映射
空间滤波基础
空间滤波机理
- 使用空间域模板进行的图像处理,称为空域滤波。模板本身被称为空域滤波器
- 输出图像中的每一点为输入图像中某个相关区域像素集的映射
在$M \times N$的图像$f$上,使用$m \times n$的滤波器,$w(s,t)$是滤波器系数,$f(x,y)$是图像像素值
$$
g(x,y)=\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x+s,y+t),m=2a+1,n=2b+1
$$
空间滤波
步骤:建立模板,在待处理的图像中逐点移动模板,对每个像素点按照滤波器算法进行计算
空间相关与卷积
图像$f(x,y)$,$m \times n$的滤波器$w(x,y)$,$m=2a+1,n=2b+1$
相关操作
$$
w(x,y) \ast f(x,y)=\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x+s,y+t)
$$
卷积操作
$$
w(x,y) \star f(x,y)=\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x-s,y-t)
$$
向量表示
$$
R=w_1z_1+w_2z_2+\dots+w_{mn}z_{mn}=\sum_{k=1}^{mn}w_kz_k=\mathbf{w}^T\mathbf{z}
$$
平滑(低通)空间滤波器
作用:
- 模糊处理:去除图像中一些不重要的细节
- 减小噪声
分类:
- 平滑线性滤波器:均值滤波器
- 统计排序滤波器(非线性滤波器):最大值滤波器,中值滤波器,最小值滤波器
平滑线性滤波器
盒状滤波
$$
R=\frac{1}{9}\sum_{i=1}^9 z_i
$$
加权均值滤波
$$
g(x,y)=\frac{\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x+s,y+t)}{\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)}
$$
低通高斯滤波器
统计排序滤波器
基于滤波器所在图像区域中像素的排序,由排序结果决定的值代替中心像素的值
分类
中值滤波器: 用像素领域内的中间值代替该像素
主要用途:去除噪声;计算公式:$R=mid { z_k|k=1,2,\dots,9 }$
- 强迫突出的亮点(暗点)更象它周围的值,以消除孤立的亮点(暗点)
- 在去除噪音的同时,可以比较好地保留边的锐度和图像的细节(优于均值滤波器)
- 能够有效去除脉冲噪声:以黑白点叠加在图像上
最大值滤波器:用像素领域内的最大值代替该像素
主要用途:寻找最亮点,计算公式:$R=\max { z_k|k=1,2,\dots,9 }$
最小值滤波器:用像素领域内的最小值代替该像素
主要用途:寻找最暗点, 计算公式:$R=\min { z_k|k=1,2,\dots,9 }$
锐化(高通)空间滤波器
用途
- 突出图像中的细节,增强被模糊了的细节
- 超声探测成像,分辨率低,边缘模糊,通过锐化来改善
- 锐化处理恢复过度钝化、暴光不足的图像
- 平滑(低通)->平均运算->积分
- 锐化(高通)->差值运算->微分
一阶微分
- 平坦区域必为零;
- 在灰度阶梯或斜坡的起始点处微分值非零;
- 沿斜坡面微分值非零;
$$
\frac{\partial f}{\partial x}=f(x+1)-f(x)
$$
二阶微分
- 平坦区域必为零;
- 在灰度阶梯或斜坡的起始点处微分值非零;
- 沿斜坡面微分值为零(Must be zero along ramps of constant slope);
$$
\frac{\partial^2 f}{\partial x^2}=f(x+1)+f(x-1)-2f(x)
$$
- 一阶微分产生较粗的边缘,二阶微分产生双边缘(单像素宽);
- 二阶微分比一阶微分对细节有更为强烈的响应,易于实现
使用二阶微分锐化图像-拉普拉斯算子
$$
\nabla^2 f=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2}
$$
$$
\frac{\partial^2 f}{\partial x^2}=f(x+1,y)+f(x-1,y)-2f(x,y)
$$
$$
\frac{\partial^2 f}{\partial y^2}=f(x,y+1)+f(x,y-1)-2f(x,y)
$$
$$
\nabla^2 f=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2}=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)
$$
拉普拉斯算子是一个标量而不是向量,具有线性特性和旋转不变,即各向同性的性质
常见拉普拉斯算子模板
使用拉普拉斯算子对图像增强的基本方法
$$
g(x,y)=f(x,y)+c[\nabla^2 f(x,y)]
$$
- 滤波器模板中心像素为负时,c=-1;
- 滤波器模板中心像素为正时,c=1;
非锐化掩膜和高提升滤波
非锐化(钝化)掩模
- 模糊原图像;
- 从原图像中减去模糊后的图像(模板);
- 将模板与原图相加
$$
g_{mask}(x,y)=f(x,y)-\bar f(x,y)
$$
$$
g(x,y)=f(x,y)+k \cdot g_{mask}(x,y)
$$
- k=1,unsharp masking
- k>1,highboost filtering
使用一阶微分锐化图像-梯度
$$
\begin{aligned}
& \nabla \mathbf{f}=\left[\begin{array}{l}
G_x \
G_y
\end{array}\right]=\left[\begin{array}{l}
\frac{\partial f}{\partial x} \
\frac{\partial f}{\partial y}
\end{array}\right]
\end{aligned}
$$
$$
\begin{aligned}
\nabla f & =\operatorname{mag}(\nabla \mathbf{f}) \
& =\left[G_x^2+G_y^2\right]^{1 / 2} \
& =\left[\left(\frac{\partial f}{\partial x}\right)^2+\left(\frac{\partial f}{\partial y}\right)^2\right]^{1 / 2}
\end{aligned}
$$
Roberts交叉梯度算子
$$
\nabla f \approx |Z_9-Z_5|+|Z_8-Z_6|
$$
Prewitt梯度算子
$$
\nabla f \approx |(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梯度算子
$$
\nabla f \approx |(Z_7+2Z_8+Z_9)-(Z_1+2Z_2+Z_3)|+|(Z_3+2Z_6+Z_9)-(Z_1+2Z_4+Z_7)
$$
频率域图像增强
背景知识与基本概念
时域
频域
空间域(像素域)
问题提出
偏微分方程$u_{tt}-C \cdot u_{xx}=0$
$$
u(x,t)=f(x+ct)+g(x-ct)
$$
$$
u(x,t)=\sum_{n=0}^\infin[a_n \cos nx+b_n \sin nx]
$$
信号正交
定义在$(t_1,t_2)$区间的$\varphi_1(t)$和$\varphi_2(t)$满足
$$
\int_{t_1}^{t_2} \varphi_1(t)\varphi_2(t)dt=0
$$
两函数内积为0
则$\varphi_1(t)$和$\varphi_2(t)$在区间$(t_1,t_2)$内正交
正交函数集
若n个函数$\varphi_1(t)$,$\varphi_2(t)$,…$\varphi_n(t)$构成一个函数集,这些函数在区间$(t_1,t_2)$内满足
$$
\left.\int\limits_{t_1}^{t_2}\phi_i(t)\phi_j(t)\operatorname{d}t=\left{\begin{matrix}0,&i\neq j\K_i\neq0,&i=j\end{matrix}\right.\right.
$$
则称此函数集为在区间$(t_1,t_2)$的正交函数集
信号的正交分解
设有n个函数$\varphi_1(t)$,$\varphi_2(t)$,…$\varphi_n(t)$在区间$(t_1,t_2)$构成一个正交函数空间,将任意函数$f(x)$用这n个正交函数的线性组合来近似,可表示为
$$
f(t) \approx C_1 \varphi_1+C_2 \varphi_2+C_3 \varphi_3+\dots +C_n \varphi_n
$$
调整各系数$C_j$使$f(t)$与近似函数之间的误差在区间$(t_1,t_2)$内最小
通常使误差的方差均值(均方误差)最小
均方误差
$$
\overline{\varepsilon^2}=\frac{1}{t_2-t_1}\int_{t_1}^{t_2}\left[f\left(t\right)-\sum_{j=1}^{n}C_j\varphi_j\left(t\right)\right]^2\operatorname{d}t
$$
$$
\frac{\partial\overline{\varepsilon^2}}{\partial C_i}=\frac{\partial}{\partial C_i}\int_{t_1}^{t_2}[f(t)-\sum_{j=1}^nC_j\varphi_j(t)]^2\operatorname{d}t=0
$$
$$
\frac{\partial}{\partial C_i}\int_{t_1}^{t_2}[-2C_if(t)\varphi_i(t)+C_i^2\varphi_i^2(t)]\operatorname{d}t=0
$$
$$
-2\int\limits_{t_1}^{t_2}f(t)\varphi_i(t)\operatorname{d}t+2C_i\int\limits_{t_1}^{t_2}\varphi_i^2(t)\operatorname{d}t=0
$$
$$
C_i=\dfrac{\int_{t_1}^{t_2}f(t)\varphi_i(t)\operatorname dt}{ \int_{t_1}^{t_2}\varphi_i^2(t)\operatorname dt }=\dfrac{1}{K_i}\int_{t_1}^{t_2}f(t)\varphi_i(t)\operatorname dt
$$
$$
K_i=\int_{t_1}^{t_2}\varphi_i^2(t)\operatorname dt
$$
最简单的正交函数集是三角函数
傅里叶级数
傅里叶级数
$$
f(t)=\sum_{n=-\infty}^{\infty}c_{n}\mathrm{e}^{j\frac{2\pi n}{T}t}
$$
复数形式
傅里叶系数
$$
c_n=\dfrac{1}{T}\int_{-T/2}^{T/2}f(t)\mathrm{e}^{-j\frac{2\pi n}{T}t}\mathrm{d}t,\quad n=0,\pm1,\pm2,\cdots
$$
欧拉公式
$$
\mathrm{e}^{j\frac{2\pi n}{T}t}=\cos\frac{2\pi n}{T}t+j\sin\frac{2\pi n}{T}t
$$
傅里叶变换、离散傅里叶变换
连续单变量函数的傅里叶变换
$$
傅里叶逆变换:f(t)=\mathfrak{F}^{-1}{F(u)}=\int_{-\infty}^{\infty}F(u)\mathrm{e}^{j2\pi ut}\mathrm{d}u
$$
$$
傅里叶变换:F(u)=\mathfrak{F}{f(t)}=\int_{-\infty}^{\infty}f(t)\mathrm{e}^{-j2\pi ut}\mathrm{d}t
$$
傅里叶变换对
u是一个连续变量
$\mathfrak{F}{f(t)}$是一个关于u的函数
傅里叶变换(FT)和傅里叶逆变换(IFT)推导_ift傅里叶变换-CSDN博客
对连续变量函数$f(t)$进行正交分解,将连续变量函数分解为不同频率成分的三角函数之和,称为傅里叶逆变换(反变换)
$$
f(t)=\mathfrak{F}^{-1}{F(u)}=\int_{-\infty}^{\infty}F(u)\mathrm{e}^{j2\pi ut}\mathrm{d}u
$$
傅里叶变换
$$
F(u)=\mathfrak{F}{f(t)}=\int_{-\infty}^{\infty}f(t)\mathrm{e}^{-j2\pi ut}\mathrm{d}t
$$
周期函数可表示为谐波关系的三角函数的加权和——傅里叶级数,频谱
非周期函数可表示为谐波关系的三角函数甲醛积分——傅里叶变换,频谱密度
取样与采样函数的傅里叶变换
冲击及其取样特性
狄拉克函数:幅度无限,持续时间为0,具有单位面积的尖峰信号
连续变量
$$
\left.\delta(x)=\left{\begin{array}{cc}1,&x=0\0,&x\ne0\end{array}\right.\right.
$$
$$
\mathrm{s.t.}\quad\int_{-\infty}^{\infty}\delta(t)\mathrm{d}t=1
$$
$$
\int_{-\infty}^{\infty}f(t)\delta(t-t_0)dt=f(t_0)
$$
离散变量
$$
\left.\delta(x)=\left{\begin{array}{cc}1,&x=0\0,&x\ne0\end{array}\right.\right.
$$
$$
\mathrm{s.t.}\sum_{x=-\infty}^{\infty}\delta(x)=1
$$
$$
\sum_{x=-\infty}^{\infty}f(x)\delta(x-x_{0})\mathrm{d}x=f(x_{0})
$$
冲击串
$$
s_{\Delta T}(t)=\sum_{n=-\infty}^{\infty}\delta(t-n\Delta T)
$$
冲击函数$\delta(t)$的傅里叶变换
$$
\mathcal{F}{\delta(t)}=F(u)=\int_{-\infty}^{\infty}\delta(t)\mathrm{e}^{-\mathrm{j}2\pi u\mathrm{t}}\mathrm{d}t=\int_{-\infty}^{\infty}e^{-j2\pi ut}\delta(t)dt=e^{-j2\pi u0}=1
$$
$t=t_0$处的一个冲击的傅里叶变换
$$
\mathcal{F}{\delta(t-t_{0})}=F(u)=\int_{-\infty}^{\infty}\delta(t-t_{0})e^{-j2\pi ut}dt=\int_{-\infty}^{\infty}e^{-j2\pi ut}\delta(t-t_{0})dt=e^{-j2\pi ut_0}
$$
冲击串的傅里叶级数
$$
s_{\Delta T}(t)=\sum\limits_{n=-\infty}^{\infty}c_{n}\mathrm{e}^{j\frac{2\pi i}{\Delta T}t}\ \mathrm{where}\ c_{n}=\frac{1}{\Delta T}\int_{-\Delta T/2}^{\Delta T/2}s_{\Delta T}(t)\mathrm{e}^{-j\frac{2\pi i}{\Delta T}t}\mathrm{d}t=\frac{1}{\Delta T}\mathrm{e}^{0}=\frac{1}{\Delta T}
$$
$$
s_{\Delta T}(t)=\sum_{n=-\infin}^\infin \frac{1}{\Delta T}\mathrm{e}^{j\frac{2\pi i}{\Delta T}t}
$$
对连续函数进行均匀间隔取样
卷积
空域卷积
$$
f(t)\star h(t)=\int_{-\infty}^{\infty}f(\tau)h(t-\tau)\mathrm{d}\tau
$$
傅里叶变换
$$
\begin{aligned}
\mathfrak{F}{f(t)\star h(t)}& =\int_{-\infty}^{\infty}\left\lfloor\int_{-\infty}^{\infty}f(\tau)h(t-\tau)\mathrm{d}\tau\right\rfloor\mathrm{e}^{-j2\pi ut}\mathrm{d}t \
&=\int_{-\infty}^{\infty}f(\tau)\left[\int_{-\infty}^{\infty}h(t-\tau)\mathrm{e}^{-j2\pi ut}\mathrm{d}t\right]\mathrm{d}\tau \
&=\int_{-\infty}^{\infty}f(\tau)\mathrm{e}^{-j2\pi u\tau}\left[\int_{-\infty}^{\infty}h(t-\tau)\mathrm{e}^{-j2\pi u(t-\tau)}\mathrm{d}t\right]\mathrm{d}\tau \
&=\int_{-\infty}^{\infty}f(\tau)\mathrm{e}^{-j2\pi u\tau}H(u)\mathrm{d}\tau \
&=F(u)H(u)
\end{aligned}
$$
$$
f(t)\star h(t)\Leftrightarrow H(u)F(u)
$$
$$
f(t)h(t)\Leftrightarrow H(u)\star F(u)
$$
取样函数的傅里叶变换
取样后函数
$$
\tilde{f}(t)=f(t)s_{\Delta T}(t)=\sum_{n=-\infty}^\infty f(t)\delta(t-n\Delta T)
$$
傅里叶变换
$$
\tilde{F}(u)=\mathfrak{F}{\tilde{f}(t)}=\mathfrak{F}{f(t)s_{\Delta T}(t)}=F(u)\star S(u)
$$
$$
S(u)=\mathfrak{F}\left{\sum_{n=-\infty}^\infty\frac{1}{\Delta T}e^{j\frac{2\pi n}{\Delta T}t}\right}=\int_{-\infty}^\infty\left{\sum_{n=-\infty}^\infty\frac{1}{\Delta T}e^{j\frac{2\pi n}{\Delta T}}\right}e^{-j2\pi ut}\mathrm{d}t=\frac{1}{\Delta T}\sum_{n=-\infty}^\infty\delta(u-\frac{n}{\Delta T})
$$
离散时间傅里叶变换
$$
\tilde{F}(u)=\mathfrak{F}{\tilde{f}(t)}=\mathfrak{F}{f(t)s_{\Delta T}(t)}=F(u)\star S(u)
$$
$$
\begin{aligned} F(u)&=F(u)\star S(u)=\int_{-\infty}^{\infty}F(\tau)S(u-\tau)\mathrm{d}\tau=\frac{1}{\Delta T}\int_{-\infty}^{\infty}F(\tau)\sum_{n=-\infty}^{\infty}\delta(u-\tau-\frac{n}{\Delta T})\mathrm{d}\tau\&=\frac{1}{\Delta T}\sum_{n=-\infty}^{\infty}\int_{-\infty}^{\infty}F(\tau)\delta(u-\tau-\frac{n}{\Delta T})\mathrm{d}\tau=\frac{1}{\Delta T}\sum_{n=-\infty}^{\infty}F(u-\frac{n}{\Delta T}).\end{aligned}
$$
对域离散函数的傅里叶变换函数是周期连续函数
小结
连续变量傅里叶变换
$$
F(u)=\mathfrak{F}{f(t)}
$$
取样函数
$$
\tilde{f}(t)=f(t)s_{\Delta T}(t)=\sum_{n=-\infty}^{\infty}f(t)\delta(t-n\Delta T)
$$
取样间隔$\Delta T$ 非周期
傅里叶变换
$$
\tilde{F}(u)=\mathfrak{F}{\tilde{f}(t)}=\frac{1}{\Delta T}\sum_{n=-\infty}^{\infty}F(u-\frac{n}{\Delta T})
$$
取样间隔$\frac{1}{\Delta T}$ 周期
取样定理
带限函数
对域函数$f(t)$,如果其傅里叶变换后的函数是以原点为中心,具有有限区间(带宽)$[-u_{max},u_{max}]$,有限带宽之外的频率值为0,则称函数$f(t)$为带限函数
带限函数恢复的条件$\frac{1}{\Delta T} \gt 2u_{max}$
以超过函数最高频率的两倍取样率来获得样本,连续带限函数能完成由其样本集恢复
奈奎斯特取样定理$\frac{1}{\Delta T}=2u_{max}$
$$
\tilde{F}(u)=\mathfrak{F}{\tilde{f}(t)}=\frac{1}{\Delta T}\sum_{n=-\infty}^{\infty}F(u-\frac{n}{\Delta T})
$$
根据$\tilde{F}(u)$恢复$f(t)$
从$\tilde{F}(u)$中分隔出以原点为中心的周期
$$
\left.H(u)=\left{\begin{array}{ll}\Delta T,&-u_{max}\leq u\leq u_{max}\0,&\text{otherwise}\end{array}\right.\right.
$$$$
F(u)={H(u)}\tilde{F}(u)
$$用傅里叶变换复原$f(t)$
$$
f(t)=\mathfrak{F}^{-1}{F(u)}=\int_{-\infty}^{\infty}F(u)\mathrm{e}^{j2\pi ut}\mathrm{d}u
$$
用卷积定理复原$f(t)$
$$
\begin{aligned}&f(t)=\mathfrak{F}^{-1}{F(u)}=\mathfrak{F}^{-1}{H(u)\tilde{F}(u)}=h(t)\star\tilde{f}(t)\&f(t)=\sum_{n=-\infty}^\infty f(n\Delta T)\text{sinc}\left[(t-n\Delta T)/\Delta T\right]\end{aligned}
$$
低于最高频率的两倍取样率对带限函数进行取样,产生混淆
单变量的离散傅里叶变换
取样后函数的连续变换得到DFT
取样函数
$$
\tilde{f}(t)=f(t)s_{\Delta T}(t)=\sum_{n=-\infin}^{\infty}f(t)\delta(t-n\Delta T)
$$
傅里叶变换
$$
\begin{aligned}
\tilde{F}(u)& ={\mathfrak{F}}{\tilde{f}(t)}=\int_{-\infty}^{\infty}\sum_{n=-\infty}^{\infty}f(t)\delta(t-n\Delta T)\mathrm{e}^{-j2\pi ut}\mathrm{d}t \
&=\sum_{n=\infty}^{\infty}\int_{-\infty}^{\infty}f(t)\delta(t-n\Delta T)\mathrm{e}^{-j2\pi ut}\mathrm{d}t=\sum_{n=-\infty}^{\infty}f_{n}\mathrm{e}^{-j2\pi u\Delta T}
\end{aligned}
$$
$$
f_n=\int_{-\infty}^{\infty}f(t)\delta(t-n\Delta T)=f(n\Delta T)
$$
简洁的表示
$$
\tilde{F}(u)=\mathfrak{F}{\tilde{f}(t)}=\sum_{n=-\infty}^{\infty}f_n\mathrm{e}^{-j2\pi u\Delta T}
$$
上式是关于频率变量u的连续函数
时域离散函数的傅里叶变换是周期为$\frac{1}{\Delta T}$的无限周期连续函数
周期$u=0 \to 1/\Delta T$得到M个等距样本,即
$$
u=\frac{m}{M\Delta T},m=0,1,2,\dots,M-1
$$
得到离散傅里叶变换
$$
F_{m}=\sum_{n=0}^{M-1}f_{n}\mathrm{e}^{-j2\pi mn/M},\quad m=0,1,2,\cdots,M-1
$$
数学公式
离散傅里叶变换:$F_m=\sum_{n=0}^{M-1}f_n\mathrm{e}^{-j2\pi mn/M},\quad m=0,1,2,\cdots,M-1$
离散傅里叶反变换:$f_{n}=\frac{1}{M}\sum_{m=0}^{M-1}F_{m}\mathrm{e}^{j2\pi mn/M},\quad n=0,1,2,\cdots,M-1$
应用
离散傅里叶变换:${F(u)=\sum\limits_{x=0}^{M-1}f(x)\mathrm{e}^{-j2\pi ux/M},\quad u=0,1,2,\cdots,M-1}$
离散傅里叶反变换:$f(x)=\frac{1}{M}\sum_{u=0}^{M-1}F(u)\mathrm{e}^{j2\pi ux/M}x=0,1,2,\cdots,M-1$
卷积的离散等价表示:$f(x)\star h(x)=\sum_{m=0}^{M-1}f(m)h(x-m)$
取样与频率间隔的关系
$f(x)$由时域连续函数$f(t)$以$\Delta T$为单位间隔取样后的M个样本组成,则包含集合${f(x)},x=0,1,2,\dots,M-1$的记录的持续时间是:
$$
T=M\Delta T
$$
离散频率域中的相应间隔为$\Delta u=\frac{1}{M\Delta T}=\frac{1}{T}$
DFT的M个成分跨越整个频率范围$\Omega=M\Delta u =\frac{1}{\Delta T}$
双变量函数的傅里叶变换
两个连续变量的冲激函数
$$
\left.\delta(t,z)=\left{\begin{array}{ll}\infty,&t=z=0\0,&x\neq0\end{array}\right.\right.\\text{s.t.}\quad\int_{-\infty}^\infty\int_{-\infty}^\infty\delta(t,z)\mathrm{d}t\mathrm{d}z=1
$$
取样特性
$$
\begin{aligned}\int_{-\infty}^\infty\int_{-\infty}^\infty f(t,z)\delta(t,z)\mathrm{d}t\mathrm{d}z&=f(0,0)\\\int_{-\infty}^\infty\int_{-\infty}^\infty f(t,z)\delta(t-t_0,z-z_0)\mathrm{d}t\mathrm{d}z&=f(t_0,z_0)\end{aligned}
$$
两个连续变量的冲激函数
$$
\left.\delta(x,y)=\left{\begin{array}{ll}1,&y=x=0\0,&x\ne0\end{array}\right.\right.
$$
取样特性
$$
\begin{aligned}\sum_{x=-\infty}^\infty\sum_{y=-\infty}^\infty f(x,y)\delta(x,y)&=f(0,0)\\sum_{x=-\infty}^\infty\sum_{y=-\infty}^\infty f(x,y)\delta(x-x_0,y-y_0)&=f(x_0,y_0)\end{aligned}
$$
二维连续傅里叶变换对
$$
\begin{gathered}
F(u,v)=\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}f(t,z)\mathrm{e}^{-j2\pi(ut+vz)}\mathrm{d}t\mathrm{d}z \
f(t,z)=\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}F(u,v)\mathrm{e}^{j2\pi(ut+vz)}\mathrm{d}u\mathrm{d}v
\end{gathered}
$$
二维冲激串
$$
s_{\Delta t\Delta z}(t,z)=\sum_{m=-\infty}^{\infty}\sum_{n=-\infty}^{\infty}\delta(t-m\Delta T,z-n\Delta Z)
$$
二维DFT/IDFT
$$
\begin{aligned}F(u,v)=&\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\mathrm{e}^{-j2\pi(ux/M+vy/N)}\\f(x,y)=&\frac{1}{MN}\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)\mathrm{e}^{j2\pi(ux/M+vy/N)}\end{aligned}
$$
二维取样定理
图像中的混淆(走样)
图像内插和重取样
混叠和莫尔模式
二维离散傅里叶变换的一些性质
空间与频率间隔的关系
$$
\begin{aligned}\Delta u&=\frac{1}{M\Delta T}\\\Delta v&=\frac{1}{N\Delta Z}\end{aligned}
$$
频率域样本间隔与空间样本间距及样本数成反比
坐标变换操作
平移
$$
\begin{aligned}&f(x,y)\mathrm{e}^{j2\pi(u_0x/M+v_0y/N)}\Leftrightarrow F(u-u_0,v-v_0)\\&f(x-x_0,y-y_0)\Leftrightarrow F(u,v)\mathrm{e}^{-j2\pi(u_0x/M+v_0y/N)}\end{aligned}
$$
上式为频移
下式为时移
旋转
$$
x=r\cos\theta,y=r\sin\theta,u=\omega\cos\phi,v=\omega\sin\phi
$$
$$
f(r,\theta+\theta_0)\Leftrightarrow F(\omega,\phi+\phi_0)
$$
周期性
DFT、IDFT具有周期性
$$
\begin{aligned}F(u,v)&=F(u+k_1M,v)=F(u,v+k_2N)=F(u+k_1M,v+k_2N)\\f(x,y)&=f(x+k_1M,y)=f(x,y+k_2N)=f(x+k_1M,y+k_2N)\end{aligned}
$$
对称性
实函数的傅里叶变换共轭对称
$$
F^{}(u,v)=F(-u,-v)
$$
虚函数的傅里叶变换共轭对称
$$
F^{}(-u,-v)=-F(u,v)
$$
傅里叶谱和相角
2D DFT极坐标表示:$F(u,v)=|F(u,v)|e^{j\phi(u,v)}$
幅度/傅里叶谱/频谱:$|F(u,v)|=\begin{bmatrix}Real^2(u,v)+Imag^2(u,v)\end{bmatrix}^{1/2}$关于原点偶对称
相位谱:$\phi(u,v)=\arctan\left[\frac{Imag(u,v)}{Real(u,v)}\right]$
功率谱:$P(u,v)=|F(u,v)|^2=Real^2(u,v)+Imag^2(u,v)$
中心化
$$
f(x,y)\mathrm{e}^{j2\pi(u_0x/M+v_0y/N)}\Leftrightarrow F(u-u_0,v-v_0)
$$
$$
F(u-M/2,v-N/2)\Leftrightarrow f(x,y)\mathrm{e}^{j2\pi(M/2x/M+N/2y/N)}=f(x,y)(-1)^{x+y}
$$
时域图像 傅里叶谱
中心化后的谱 经过对数变换后的谱
平移对频谱无影响,但影响相位谱
相角谱携带图像中可辨别物体定位的信息。
二维卷积定理
离散傅里叶变换、循环卷积与卷积定理 - 知乎 (zhihu.com)
二维循环卷积
$$
f(x,y)\star h(x,y)=\sum_{m=0}^{M-1}\sum_{n=0}^{N-1}f(m,n)h(x-m,y-n)
$$
二维卷积定理
$$
\begin{aligned}f(x,y)\star h(x,y)&=F(u,v)H(u,v)\\f(x,y)h(x,y)&=F(u,v)\star H(u,v)\end{aligned}
$$
小结
频率域滤波基础
数字图像处理——频率域滤波 - 知乎 (zhihu.com)
图像频率域表示
图像频率域表示$F(u,v)=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\mathrm{e}^{-j2\pi(ux/M+vy/N)}$
图像的频率: 表征图像中灰度变化剧烈程度
$u=v=0$,变化最慢,直流,能量
低频:图像中变化缓慢的灰度分量,如平坦区域
高频:图像中灰度急剧变化的分量,如物体边缘
频率域滤波:通常修改图像的傅里叶频谱;相角分量的视觉分析通常不是很有用。
频率域滤波基础
$$
g(x,y)=real{\Im^{-1}[H(u,v)F(u,v)]}
$$
$H(u,v)$滤波器通常为中心对称,要求对应的$F(u, v)$的原点也在中心
$$
f(x,y)(-1)^{x+y}\Leftrightarrow F(u-M/2,v-N/2)
$$
直流分量:图像的平均灰度
$$
F(0,0)=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)=MN\bar{f}(x,y)
$$
直流分量置零,图像的平均灰度将减小为零
低通滤波器
低通滤波器: 衰减高频而通过低频的滤波器能模糊一幅图像;
高通滤波器
高通滤波器: 衰减低频而通过高频的滤波器将增强尖锐的细节,但会降低图像的对比度
低通滤波器 高通滤波器
输入图像 无填充高斯低通滤波 填充后的低通滤波
空域填充和直接在频域定义滤波器函数的关系
在频域定义函数->IDFT到时域->填充->DFT 返回频域
$$
g(x,y)=real{\Im^{-1}[H(u,v)F(u,v)]}
$$
- 在频域构建一个和图像尺寸相同的滤波器$H(u, v)$;
- 计算滤波器的IDFT,得到相应的空间滤波器$h(x, y)$;
- 在空间域填充空间滤波器$h’(x, y)$ ;DFT返回频率域 $H’(u, v)$
缺陷:产生震铃效果
先对图像填充0,直接在频域创建尺寸与填充过图像一样大小的滤波器
实践中:交叠错误可通过图像填充提供的间隔有效地减轻,对振铃也更好。
缺陷:未对滤波器进行填充,导致交叠错误
交叠错误可通过图像填充提供的间隔有效地减轻,对振铃也更好
空间与频域滤波间的对应
频域滤波:给定滤波器$H(u,v)$与输入图像的傅里叶变换$F(u,v)$的乘积。
$f(x,y)=\delta(x,y),\delta(x,y)的傅里叶变换F(u,v)=1$
$$
\begin{aligned}\delta(x,y)\star h(x,y)&=\mathfrak{F}^{-1}(H(u,v))\\delta(x,y)\star h(x,y)&=\sum_m\sum_n\delta(m,n)h(x-m,y-n)=h(x,y)\end{aligned}
$$
时域滤波器和空域滤波器形成傅里叶变换对
为什么既有空间域滤波又有频率域滤波
实践中,通常在空域中,用较小的滤波器模板来实现卷积滤波,因为在硬件和(或)固件实现的速度快而且容易。然而,在频率域,滤波的概念更加直观。
一维高斯函数的正反傅里叶变换
高斯函数的优秀性质:
- 实高斯函数的傅里叶变换是实高斯函数
- 实高斯函数的反傅里叶变换是实高斯函数。
- 函数表现互易;分析方便,不涉及复数。
sobel模板及其频率域滤波函数
sobel核$h(x,y)$
-1 0 1
-2 0 2
1 0 -1
为避免交叠错误:将 f 和 h 零填充
低通平滑
利用频域低通滤波器平滑图像边缘和其它尖锐变化(如噪声)在图像的灰度级中主要处于傅里叶变换的高频部分,因此平滑可通过衰减指定图像傅里叶变换中高频成分来实现
理想低通滤波器
$$
H(u,v)=\begin{cases}1&D(u,v)\le D_0\0&D(u,v)>D_0\end{cases}
$$
$D_0$为截止频率,是一个正常数
$D(u,v)$频率中心点到频率矩形中心的距离
$$
D(u,v)=\sqrt{(u-P/2)^2+(v-Q/2)^2}
$$
P,Q为填充后的尺寸,如果图像大小和滤波器大小均为M*N则
$$
D(u,v)=\sqrt{(u-M)^2+(v-N)^2}
$$
理想低通过滤器的透视图\图像显示、截面图
理想:半径为截止频率的圆内,所有频率都通过;圆外,所有频率被彻底衰减。
ILPF关于原点径向对称,滤波器完全由截止频率$D_0$定义。
理想低通过滤器的截止频率的设计
首先计算总功率
$$
P_T=\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}P(u,v)
$$如果将变换做中心平移,则一个以频域中心为原点,r为半径的圆就包含了百分之$\beta$的能量
$$
\beta=100{\left[\sum_u\sum_vP(u,v)/P_T\right]}
$$小的边界和其它尖锐细节信息被包含在被滤波器滤除的13%的功率中;
被钝化的图像被一种非常严重的振铃效果——理想低通滤波器的一种特性所影响;
图像中很少有边缘信息包含在0.8%以上的谱功率中;
$$
\begin{aligned}H(u,v)&=e^{-D^2(u,v)/2D_0^2}\\D(u,v)&=\sqrt{(u-M)^2+(v-N)^2}\end{aligned}
$$
$D(u,v)=D_0\to H(u,v)=0.5$
无振铃
巴特沃斯低通滤波器
一个截止频率在与原点距离为$D_0$的n阶Butterworth低通过滤器(BLPF)的变换函数如下:
$$
\begin{aligned}H(u,v)&=\frac{1}{1+\left[D(u,\nu)/D_0\right]^{2n}}\\D(u,v)&=\sqrt{(u-M)^2+(v-N)^2}\end{aligned}
$$
- 变换函数中不存在一个不连续点作为一个通过的和被过滤掉的截止频率
的明显划分 - 通常把$H(u,v)$开始小于其最大值的一定比例的点当作其截止频率点
- 如当$D(u,v)=D_0$时,$H_(u,v)=0.5$
$$
H(u,v)=\frac{1}{1+\left[D(u,v)/D_0\right]^{2n}}
$$
n=1,2,5,20
- 一阶:没有振铃;
- 二阶:振铃现象不明显;
- n越大, 振铃现象越明显。
高斯低通滤波器GLPF
$$
H(u,v)=e^{-D^2(u,v)/2{D_0}^2}
$$
高通锐化
基本思想:衰减低频成分而不干扰高频信息
- 边缘和其它尖锐变化(如噪声)$\to$高频部分
- 衰减图像傅里叶变换低频成分来实现高频成分的增强。
- 高通滤波是低通滤波的反操作,即被低通滤波器过滤掉的频率均能通过高通滤波器:
$$
H_{HP}(u,v)=1-H_{LP}(u,v)
$$
$$
h_{HP}(x,y)=\Im^{-1}[H_{HP}(u,v)]=\Im^{-1}[1-H_{LP}(u,v)]=\delta(x,y)-h_{LP}(x,y)
$$
理想高通滤波器
一个二维的理想高通过滤器(IHPF)的转换函数满足(是一个分段函数)
$$
\left.H(u,v)=\left{\begin{array}{cc}0,&D(u,v)\leq D_0\1,&D(u,v)>D_0\end{array}\right.\right.
$$
$D_0$为截止频率,是一个正常数
$D(u,v)$频率中心点到频率矩形中心的距离
$$
D(u,v)=\sqrt{(u-P/2)^2+(v-Q/2)^2}
$$
P,Q为填充后的尺寸,如果图像大小和滤波器大小均为M*N则
$$
D(u,v)=\sqrt{(u-M)^2+(v-N)^2}
$$
巴特沃斯高通滤波器
$$
H(u,v)=\frac{1}{1+\left[D_0\right/D(u,\nu)]^{2n}}
$$
高斯高通滤波器
一个截止频率在与原点距离为 的Gaussian高通过滤器(GHPF)的变换函数如下
$$
H(u,v)=1-e^{-D^2(u,v)/2D_0^2}
$$
GHPF对细小物体和细线条的滤波结果也比较清晰,比IHPF和BHPF光滑
截止频率越大,使用BHPF得到的结果越光滑。BHPF比IHPF结果光滑
频率域的拉普拉斯算子
空域$\nabla^{2}f(t,z)=\frac{\partial^{2}f}{\partial t^{2}}+\frac{\partial^{2}f}{\partial z^{2}}$
频域$H(u,v)=-4\pi^{2}(u^{2}+v^{2})$
中心化$H(u,v)=-4\pi^2\left[(u-P/2)^2+(v-Q/2)^2\right]=-4\pi^2D^2(u,v)$
拉普拉斯图像$\nabla^2f(x,y)=\Im^{-1}{H(u,v)F(u,v)}$
空域增强$g(x,y)=f(x,y)+c\nabla^{2}f(x,y),c=-1$
频域增强$g(x,y)={\mathfrak{F}}^{-1}{F(u,v)-H(u,v)F(u,v)}={\mathfrak{F}}^{-1}{[1-H(u,v)]F(u,v)]$
钝化模板、高提升滤波和高频强滤波
空域模板$g_{mask}(x,y)=f(x,y)-f_{LP}(x,y)$
$f_{LP}(x,y)=\mathfrak{F}^{-1}{H_{LP}(u,v)F(u,v)}$
空域增强$g(x,y)=f(x,y)+kg_{mask}(x,y)$
k=1钝化模板,k>1高提升模板
频域
强调高频滤波
同态滤波
图像$f(x,y)$可通过照度分量与反射分量的乘积表示
$$
f(x,y)=i(x,y)r(x,y)
$$
照度分量特点:平缓的空域变换;相当于频域中低频部分;
反射分量特点:陡峭的空域变换;相当于频域中的高频部分;
目的:通过同时实现压缩亮度范围和增强对比度,来改进图像的表现
- 进行对数变换:$z(x,y)=\ln f(x,y)=\ln i(x,y)+\ln r(x,y)$
- 进行傅里叶变换 $\begin{aligned}\mathfrak{F}{z(x,y)}&=\mathfrak{F}{\ln i(x,y)}+\mathfrak{F}{\ln r(x,y)}\\Z(u,v)&=F_i(u,v)+F_r(u,v)\end{aligned}$
- 频率域滤波$S(u,v)=H(u,v)Z(u,v)=H(u,v)F_i(u,v)+H(u,v)F_r(u,v)$
- 空域$s(x,y)=\mathfrak{F}^{-1}{H(u,v)F_i(u,v)}+\mathfrak{F}^{-1}{H(u,v)F_r(u,v)}$
定义$i’(x,y)=\mathfrak{F}^{-1}{H(u,v)F_{i}(u,v)},r’(x,y)=\mathfrak{F}^{-1}{H(u,v)F_{r}(u,v)}$
滤波后的空域图像$g(x,y)=\mathrm{e}^{s(x,y)}=\mathrm{e}^{i’(x,y)}\mathrm{e}^{r’(x,y)}=i_0(x,y)r_0(x,y)$
优点:可以同时更好地控制照射分量和反射分量
同态滤波器$H(u,v)=(\gamma_{H}-\gamma_{L})\left[1-\mathrm{e}^{-c\left[D^{2}(u,v)/D_{0}^{2}\right]}\right]+\gamma_{L}$
如果$\gamma_H>1,\gamma_L<1$ ,低频部分被压缩,高频部分将被扩大。最后的结果将是既压缩了有效范围,又扩大了对比度。
选择性滤波
带阻滤波器和带通滤波器
带通滤波器$H_{BP}(u,v)=1-H_{BR}(u,v)$
图像复原与重建
图像退化/复原背景、过程模型
目的:在某种意义上对图像进行改善,即改善图像的视觉效果,但两者使用的方法和评价标准不同。
- 图像增强技术:利用人的视觉系统特性,取得较好的视觉效果,无需考虑图像退化的真
实物理过程,增强后的图像也不一定要逼近原始图像; - 图像复原技术:针对图像退化的原因设法进行补偿,需要对图像的退化过程有一定的先
验知识,利用图像退化的逆过程去恢复图像,使复原后的图像尽可能地接近原图像。
$$
g(x,y)=(h*f)(x,y)+\eta(x,y)
$$
$$
G(u,v)=H(u,v)F(u,v)+N(x,y)
$$
线性系统
对于某特定系统,有
$$
\begin{aligned}x_1(t)&\xrightarrow{H}y_1(t)\x_2(t)&\xrightarrow{H}y_2(t)\end{aligned}
$$
该系统是线性的当且仅当对于任意$\alpha,\beta$,下式成立
$$
\alpha y_1(t)+\beta y_2(t)=H[\alpha x_1(t)+\beta x_2(t)]
$$
如果系统$\mathcal{H}$是一个线性、位置不变的过程,那么退化图像可由下式给出:
$$
\begin{aligned}g(x,y)&=h(x,y)\star f(x,y)+\eta(x,y)\\G(u,v)&=H(u,v)F(u,v)+N(u,v)\end{aligned}
$$
- 如果不考虑噪声,假定输入-输出关系为$g(x,y)=h[f(x,y)]$,如果$g(x+a,y+b)=h[f(x+a,y+b)]$,则退化函数是位置不变的(即图像中的所有像素点具有相同的退化函数,与像素点的位置无关)。
- 如果能够去除噪声,然后取h退化函数的逆操作,那么就可以根据退化函数$g(x,y)$还原
原始图像。
图像复原方法的分类
- 估计方法:缺乏图像先验知识,对退化过程建立模型进行描述,进而寻找一种去除或消弱其影响的成果;
- 拟合方法:对原始图像有足够的的先验知识,对原始图像建立一个数学模型,并根据它对退化图像进行拟合,能够获得更好的复原效果。
优缺点
- 第一种方法不需要先验知识,但速度较慢,效果也不如第二种好;
- 第二种方法只要有正确的模型,就可在相对较短的时间内得到较好的效果,缺点是建立准确的模型通常是十分困难的,通常要依靠先验信息。
噪声模型和复原
用户不感兴趣的,对信息具有干扰特性的;在图像获取或传输过程中出现;
加性噪声和乘性噪声;
假设图像的像素值为 $f(x,y)$,噪声信号为 $\eta(x,y)$,如果混合叠加信号为
$$
g(x,y)=f(x,y)+\eta(x,y)
$$
的形式,则这种噪声称为加性噪声。如果混合叠加噪声信号为:
$$
g(x,y)=f(x,y)[1+\eta(x,y)]
$$
的形式,则这种噪声称为乘性噪声。空间特性
- 图像传输过程中引入的信道噪声、摄像机扫描噪声等与图像信号无关,是加性噪声。常见的加性噪声按照概率密度函数特征,可分为:高斯噪声、瑞丽噪声、伽马噪声、指数分布噪声、均匀分布噪声、脉冲噪声等;
- 光照变化引起的噪声、电视扫描光栅中的相干噪声等,与图像信号有关,往往随着图像信号的变化而变化,是乘性噪声;
频率特性
- 傅里叶谱为常量时,白噪声
高斯噪声
$$
p(z)=\frac{1}{\sqrt{2\pi\sigma}}\mathrm{e}^{-(z-\mu)^{2}/2\sigma^{2}}
$$
当z服从上式分布时,其值有70%落在$[(\mu-\sigma),(\mu+\sigma)]$,95%落在$[(\mu-2\sigma),(\mu+2\sigma)]$范围内
高斯噪声的产生源于由电子随机热运动引起的电子电路噪声和由低照明度或高温带来的传感器噪声。
瑞利噪声
$$
\left.p(z)=\left{\begin{array}{ll}\frac{2}{b}(z-a)\mathrm{e}^{-(z-au)^2/b}&z\geq a\0&z<a\end{array}\right.\right.
$$
a>0,b为正整数
$$
\begin{aligned}\bar{z}&=a+\sqrt{\pi b/4}\\sigma^2&=\frac{b(4-\pi)}{4}\end{aligned}
$$
爱尔兰/伽马噪声
$$
\left.p(z)=\left{\begin{array}{ll}\frac{a^bz^{b-1}}{(b-1)!}\mathrm{e}^{-az}&z\geq a\0&z<a\end{array}\right.\right.
$$
a>0
$$
\begin{aligned}\bar{z}&=\frac{b}{a}\[2ex]\sigma^2&=\frac{b}{a^2}\end{aligned}
$$
指数噪声
$$
\left.p(z)=\left{\begin{array}{ll}a\mathrm{e}^{-az}&z\geq a\0&z<a\end{array}\right.\right.
$$
$$
\begin{aligned}\bar{z}&=\frac{1}{a}\\sigma^2&=\frac{1}{a^2}\end{aligned}
$$
均匀噪声
$$
\left.p(z)=\left{\begin{array}{ll}\frac{1}{b-a}&a\leq z\leq b\0&\text{otherwise}\end{array}\right.\right.
$$
$$
\begin{aligned}\bar{z}&=\frac{a+b}{2}\\\sigma^2&=\frac{(b-a)^2}{12}\end{aligned}
$$
脉冲椒盐噪声
$$
p(z)\=\begin{cases}\begin{aligned}P_s&z=2^k-1\P_p&z=0\1-(P_s+P_s)&otherwise\end{aligned}\end{cases}
$$
$$
p(z)=\begin{cases}\quad P_s&z=a\\quad P_p&z=b\1-(P_s+P_s)&otherwise\end{cases}
$$
- 如果b>a,则灰度级b在图像中将显示为一个亮点,灰度级a在图像中将显示为一个暗点
- 如果$P_S$或$P_p$为零,则称为单极脉冲
- 如果均不为零,尤其是它们近似相等时,则脉冲声值将类似于在图像上随机分布的胡椒和盐粉微粒。所以双极脉冲又称椒盐脉冲/散粒脉冲/尖峰噪声
周期噪声
- 在图像获取时电力或机电干扰中产生;
- 周期噪声可以通过频率域滤波显著减少。
只存在噪声的复原——空间滤波
$$
\begin{aligned}g(x,y)&=f(x,y)+\eta(x,y)\[1ex]G(u,v)&=F(u,v)+N(u,v)\end{aligned}
$$
考虑加性噪声
对于周期噪声 $G(u,v)-N(u,v)$
空间滤波方法来滤除噪声 图像复原==图像增强
均值滤波器:算术均值滤波器、几何均值滤波器、谐波均值滤波器、逆谐波均值滤波器
统计排序滤波器:中值滤波器、最大值和最小值滤波器、中点滤波器、修正的阿尔法均值滤波器
自适应滤波器:自适应局部降低噪声滤波器、自适应中值滤波器
均值滤波
逆谐波噪声更适合于处理脉冲噪声,但必须知道噪声时暗噪声还是亮噪声,以便于为Q选择正确的符号!
谐波均值滤波器
$$
\widehat{f}(x,y)=\frac{mn}{\sum_{(r,c)\in S_{xy}}\frac{1}{g(r,c)}}
$$
逆谐波均值滤波器
$$
\widehat{f}(x,y)=\frac{\Sigma_{(r,c)\in S_{xy}}g(r,c)^{Q+1}}{\Sigma_{(r,c)\in S_{xy}}g(r,c)^Q}
$$
统计排序滤波器
中值滤波器
单极/双极脉冲噪声
$$
\widehat{f}(x,y)={}{(r,c)\in S{xy}}^{median}{g(r,c)}
$$
副作用:会模糊图像
最大值和最小值滤波器
$$
\begin{aligned}\hat{f}(x,y)&={(r,c)\in S{xy}}\max{g(r,c)}\\hat{f}(x,y)&={(r,c)\in S{xy}}{g(r,c)}\end{aligned}
$$
中点滤波
$$
\widehat{f}(x,y)=\frac{1}{2}[{(r,c)\in S{xy}}^{max}{g(r,c)}+{(r,c)\in S{xy}}^{min}{g(r,c)}]
$$
修正的阿尔法均值滤波器
$$
\widehat{f}(x,y)=\frac1{mn-d}\sum_{(r,c)\in S_{xy}}g_R(r,c)
$$
- $g_R(r,c)$邻域$S_{xy}$内去掉最低灰度值的d/2和最高灰度值的d/2后留下的mn-d个像素。
- d=0退化为算术均值滤波器
- d=mn-1中值滤波器
自适应滤波器
利用由mxn矩形窗口$S_{xy}$定义的区域内图像的统计特征进行处理,优于均值滤波器和统计排序滤波器
- 随机变量最简单的统计度量是均值和方差,这些参数是自适应滤
波器的基础。 - 均值给出了计算均值的区域中灰度平均值的度量;
- 方差给出了这个区域的平均对比度的度量。
$$
\widehat{f}(x,y)=g(x,y)-\frac{\sigma_{\eta}^2}{\sigma_{Sxy}^2}[g(x,y)-\bar{z}_{Sxy}]
$$
自适应局部降低噪声滤波器
自适应中值滤波器
- 被概率Ps=Pp=0.25的椒盐噪声污染了的图像
- 7×7中值滤波器的滤波效果(消除噪声的同时导致图像细节明显损失)
- Smax=7的自适应中值滤波器的效果 (消除噪声的同时保持图像的细节)
用频率域滤波消除周期噪声
针对周期噪声的复原:陷波滤波器 — 阻止事先定义的频率矩形邻域中的频率
- 假设:在傅里叶变换中,周期噪声在对应于周期干扰的频率处显示为集中突发的能量。
- 设计:传递函数可用中心被平移到陷波滤波中心的高通滤波器函数的乘积来产生
传递函数可用中心被平移到陷波滤波中心的高通滤波器函数的乘积来产生
$$
\begin{aligned}H_{NR}(u,v)&=\prod_{k=1}^{Q}H_{k}(u,v)H_{-k}(u,v)\D_{k}(u,v)&=[\left(u-\frac{M}{2}-u_{k}\right)^2+(u-\frac{M}{2}-v_{k})^2]^{1/2}\end{aligned}
$$
n阶Butterworth陷波带阻滤波器
$$
H_{NR}(u,v)=\prod_{k=1}^3[\frac1{1+[D_{0k}/D_k(u,v)]^n}\frac1{1+[D_{0k}/D_{-k}(u,v)]^n}]
$$
传递函数可用中心被平移到陷波滤波中心的高通滤波器函数的乘积来产生
陷波带通滤波器
$H_{BP}(u,v)=1-H_{BR}(u,v)$
作用:提取噪声模式
作用:阻止(或通过)事先定义的中心频率领域内的频率
最优陷波滤波器
- 污染图像包含多种干扰成分
- 非单频突发,具有携带干扰模式信息的宽边缘
第一步:在每个尖峰位置处放置一个陷波带通滤波器,估计屏蔽干扰模式的主频率成分:
$$
\begin{aligned}&N(u,v)=H_{NP}(u,v)G(u,v)\\&\eta(x,y)=\mathfrak{F}^{-1}{H_{NP}(u,v)G(u,v)}\end{aligned}
$$
N是噪声傅里叶谱,G是污染图像的傅里叶谱
$\eta$是噪声模式
第二步:从被污染图像中减去干扰模式的可加权部分
$$
\hat{f}(x,y)=g(x,y)-w(x,y)\eta(x,y)
$$
w加权函数/调制函数:其目的是使得恢复图像效果最优
加权函数/调制函数$w(x,y)$的估计——使复原图像在每一个点的指定领域上的方差最小
线性空间不变和图像复原问题求解
$g(x,y)=H[f(x,y)]+\eta(x,y)$
假设$\eta(x,y)=0$
假设H是线性算子
如果H具有加性性质,即$H[af_1(x,y)+bf_2(x,y)]=aH[f_1(x,y)]+bH[f_2(x,y)]$
且H具有均匀性即$H[af_1(x,y)]=aH[f_1(x,y)]$
假设H算子是位置不变
对于任意$f(x,y),\alpha,\beta$,如果$H[f(x-\alpha,y-\beta)]=g(x-\alpha,y-\beta)$成立
不存在噪声时,即$\eta(x,y)=0$线性、位置不变的退化模型的表达式为:
$$
\begin{aligned}g(x,y)&=h(x,y)\star f(x,y)\G(u,v)&=H(u,v)F(u,v)\end{aligned}
$$存在噪声时,即$\eta(x,y)\neq0$,线性、位置不变的退化模型的表达式为
$$
\begin{aligned}g(x,y)&=h(x,y)\star f(x,y)+\eta(x,y)\G(u,v)&=H(u,v)F(u,v)+N(u,v)\end{aligned}
$$
估计退化函数
观察法
收集图像自身的信息来估计退化函数。
试验法
使用与获取退化图像的设备相似的装置,得到准确的退化估计。
数学建模法
考虑引起退化的环境因素,建立退化模型
从基本原理推导数学模型,如匀速直线运动造成的模糊就可以运用数学推导出其退化函数
逆滤波
用退化函数除退化图像的傅里叶谱,变换来计算原始图像的傅里叶变化的估计$\hat F(u,v)$
$$
\begin{aligned}\hat F(u,v)&=\frac{G(u,v)}{H(u,v)}=\frac{1}{H(u,v)}G(u,v)\\\hat F(u,v)&=F(u,v)+\frac{N(u,v)}{H(u,v)}\end{aligned}
$$
一种解决退化为零或很小值问题的途径是限制滤波器的频率信息使其接近原点
逆滤波的改进=>维纳滤波/最小均方差滤波
逆滤波:没有清楚说明如何处理噪声
维纳滤波:一种综合退化函数和噪声统计特征进行复原的方法。
基本思路:
假设图像和噪声都是随机变量,找为污染图像 的一个估计 ,使它们之间的均方误差最小:
$$
e^2=E{ (f-\hat f)^2 }
$$
维纳滤波器
$$
H_W(u,v)=\frac{1}{H(u,v)}\frac{|H(u,v)|^2}{|H(u,v)|^2+S_\eta(u,v)/S_f(u,v)}
$$
要求:
未退化图像和噪声的
功率必须是已知的
- 噪声为0,退化为逆滤波
- 噪声为白噪声,噪声功率谱为常数,噪声功率谱与原图像功率谱可用一个常数K估计。
以噪声和未退化图像的功率谱为基础的度量
维纳滤波:要求未退化的图像和噪声的功率谱已知,通常用常数估计,但并总是合适。
约束最小二乘方滤波:仅要求噪声方差和均值已知
基本思想:
$$
g=Hf+\eta
$$
高维矩阵运算复杂,且退化函数对噪声敏感,使问题进一步复杂化。为此,找到一个带约
束条件的最小准则函数,定义如下:
$$
C=\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}[\nabla^2f(x,y)]^2
$$
约束为$||g-H \hat f ||^2=||\eta||^2$
$$
\hat{F}(u,v)=\left[\frac{H^*(u,v)}{||H(u,v)||^2+\gamma||P(u,v)||^2}\right]G(u,v)
$$
选取$\gamma$
方式一:交互式调整直至达到可接受的结果
方式二:迭代估计
几何均值滤波
$$
\hat{F}(u,v)=\left[\frac{H^*(u,v)}{||H(u,v)||^2}\right]^\alpha\left[\frac{H^*(u,v)}{||H(u,v)||^2+\beta S_\eta(u,v)/S_f(u,v)}\right]^{1-\alpha}G(u,v)
$$
$\alpha,\beta$为正的实常数
$\alpha=1$ 滤波器退化为逆滤波器
$\alpha=2$ 滤波器退化为参数维纳滤波器
投影重建图像
彩色图像处理
彩色基础
研究原因
- 强大的描述子
- 可以简化目标区分
- 场景中抽取目标
- 符合人类视觉特性
- 人类只能辨别几十种灰度层次
- 却可以辨别几千种颜色色调和亮度
视杆细胞:视网膜表面,负责黑白视觉,对光线的敏感程
度非常敏感,主要用于暗视觉,左右人的夜视能力;对色
彩没有感觉。
视锥细胞:视网膜中央凹中间部分,对颜色高度敏感,具
有三种类型:红色、绿色、蓝色感光细胞。
彩色处理分类
- 全彩色处理
- 用全彩色传感器获取的图像
- 彩色电视摄像机
- 数码相机
- 彩色扫描仪
- 伪(假)彩色处理
- 对特定的单一亮度或亮度范围赋予一种颜色
颜色的物理性质
- 牛顿分光实验:1666年牛顿发现当一束白光通过一个玻璃棱镜时,出现的光束不是白光,而是由一端为紫色到另一端为红色的连续彩色谱组成
- 观察全彩色时,色谱末尾的颜色不是突变的,而是从一种颜色平滑地过渡到下一
种颜色的。 - 人类和某些其他动物感知物体颜色是由物体反射光的性质决定的。
人类视觉系统对颜色的感知
人类视觉系统中,负责彩色视觉的传感器是视锥细胞,分为3个类别,分别对应与红色、蓝色和绿色。65%的锥状细胞对红光敏感,33%对绿光敏感,2%对蓝光敏感。
以波长为函数,人眼中的红色、绿色和蓝色锥状细胞对光的吸收曲线
由于人眼的这些吸收特性,所看到的彩色是红(700)、绿(546.1)、蓝(435.8)的各种组合。
三基色与三基色原理
自然界绝大多数颜色可分解为红、绿、蓝三种颜色,称为三基色。
CIE(国际照明委员会)于1931年指定如下的特定波长值为三原色
蓝色=435.8nm
绿色=546.1nm
红色=700nm
相加混色
- 红色 + 蓝色 = 深红色
- 绿色 + 蓝色 = 青色
- 红色 + 绿色 = 黄色
以正确的亮度把三原色或与二次色相对应的原色混合,可产生白光
相加混色
相加混色中涉及混色比例问题
相减混色
利用颜料和燃料等的吸色性质实现相减混色
- 深红色(绿色光被吸收,只反射红光和蓝光)
- 青色(红色光被吸收,只反射绿光和蓝光)
- 黄色(蓝色光被吸收,只反射红光和绿光)
相减混色的基色为青、深红、黄
- 白色 - 红色 = 青色
- 白色 - 绿色 = 深红色
- 白色 - 蓝色 = 黄色
- 白色 - 绿色 - 红色 –蓝色 = 黑色将三种颜色原色或与二次色相对
深红色颜料 + 黄色颜料 = 红色颜料
=> 白 - 绿 – 蓝青色颜料 + 黄色颜料 = 绿色颜料
=> 白 – 红 – 蓝深红色颜料 + 青色颜料 = 蓝色颜料
=> 白 – 绿 – 红品红色颜料 + 青色颜料 + 黄色颜料 = 黑色颜料
=> 白 – 绿 – 红 – 蓝
颜色特性
- 亮度(brightness)
- 反应了颜色的明亮程度,加入白色越多越亮,黑色越多越不亮
- 色调(hue)
- 描述纯色,反应了观察者接受到的主要颜色,取决于视觉系统对可见物体辐射或发射光光波波长的感觉
- 饱和度(saturation)
- 纯色被白光稀释的程度,与所加的白光数量成反比
- 完全饱和颜色是指没有掺入白色所呈现的颜色
- 单一波长的光谱色是完全饱和颜色
- 色调与饱和度一起称为色度(chromaticity)
- 三色值:形成任何特殊彩色的红、绿、蓝的数量,分别用X,Y,Z表示
- 三色值系数
$$
\begin{aligned}x&=\frac{X}{X+Y+Z}\quad y=\frac{Y}{X+Y+Z}\quad z=\frac{Z}{X+Y+Z}\x+y+z&=1\end{aligned}
$$
CIE色度图
- CIE色度图的翼形轮廓线代表可见光波长的轨迹,即可见光谱曲线。
- 沿线的数字表示该位置的可见光的主波长。
- 中央等能量点对应等比例的三基色,表示白光的CIE标准,饱和度为零。
- 红色区域位于图的右下角,绿色区域在图的顶端,蓝色区域在图的左下角,连接光谱轨迹两端点的直线称为紫色线。
- 所有颜色向量组成了x>0 (红)、y>0 (绿)和z>0(蓝)的三维空间第一象限舌形锥体
- 取一个截面x+y+z=1,该截面与三个坐标平面的交线构成一个等边三角形,每一个颜色
向量与该平面交点的空间坐标(x,y,z)表示为该颜色在标准基色下的三刺激值,称为色
度值
- 定义一个颜色域。
- B和G加在一起能够产生它们连线上的颜色;
- 再加入第三种颜色R, 就产生三者( R、G和B) 构成的三角形区域的颜色;
- 3个单一且固定的原色无法得到所有颜色;
- RGB监视器以三个高度可控的原色光的相加为基础,其能产生的典型颜色范围如右图三角形区域所示,称为彩色全域;
- 不规则区域是今天高质量彩色打印设备的代表性彩色域。
彩色模型
用途:简化彩色说明规范, 通常用3D坐标系统表示
- 从颜色感知角度分类
- 混合型颜色空间: RGB, CMY(K), XYZ
- 亮度/色度型颜色空间:YUV/YCbCr/YIQ, CIELAB/CIELUV
- 强度/饱和度/色调型颜色空间: HSI/HSV/HSL/HSB
- 从技术角度区分
- 计算机显示和印刷技术: RGB/CMY(K), HSI/HSV/HSL/HSB
- 颜色度量 : XYZ , CIELAB/CIELUV
- 广播电视: YUV/YCbCr/YIQ
RGB颜色模型
RGB模型为归一化[0,1]的单位立方体, 三个相互垂直的轴, 分别代表三种基色
RGB颜色空间中的任意颜色可由该空间的一个颜色矢量来表征
原点: 黑色; (1,1,1)点: 白色; 六个顶点: 红 绿 蓝 黄 青 深红
RGB空间, 用以表示每个像素的比特数叫做像素深度。
如果 RGB 图像分量都用 8 比特图像表示,每一个彩色像素就有 24 比特深度。
全彩色图像常定义为 24 比特的彩色图像。
24 比特 RGB 图像中颜色总数: 三维坐标R、G、B, 每个分量都可取256个级别, 可表现的颜色总数为:
$$
(2^8)^3=1677216
$$固定三种颜色中的一种,并让其他两种颜色变化,可生成一个彩色平面
CMY和CMYK彩色模型
CMY: Cyan(青色), Magenta(深红色), Yellow(黄色),光的二次色,颜料的原色;
主要应用于硬拷贝设备,彩色打印机和复印机,这些设备要求输入CMY数据或在内
部进行RGB到CMY的转换;CMYK:CMY+黑色,“四色打印”(等量青色、深红色和黄色可生成黑色,但实
际上,CMY不是纯色,组合的黑色是不纯,故加入黑色)
HSI彩色模型
基于设备的颜色模型:RGB彩色模型与CMY彩色模型
- 适用于使用设备产生颜色 (加性三原色显示器, 减性三原色彩色打印机)的情况
- 不方便测量不同颜色的差别
- 不适于描述人对颜色的理解
基于人类视觉感觉特性的彩色模型:HSI彩色模型
- 是一种理想的描述人眼视觉彩色特性彩色图像处理模型,对人来说直观且自然;
- 色度(Hue):描述纯色(纯黄色、纯橙色、纯红色等)的颜色属性
- 饱和度(Saturation):一种纯色光被白光稀释的程度, 颜色的纯度;
- 强度(Intensity):强度(灰度级)是单色图像最有用的描述子, 是可测量的, 并易于解
释.
强度轴: 从黑点 (0,0,0) 到白点 (1,1,1) 之间的连线, 体现灰度级变化. 强度轴上的所有点都表示灰度.
强度: RGB空间内任意颜色点的强度定义为:过该点且垂直于强度轴的平面与强度轴相交的点的灰度值.
RGB空间内垂直于强度轴的同一平面上各颜色点的强度相等.
HSI空间要求的色调、饱和度和强度可以从RGB立方体中得到
强度: RGB空间内任意颜色点的强度定义为过该点且垂直于强度轴的平面与强度轴相交的点的灰度值.
$$
[r-k’,g-k’,b-k’] \cdot[1-0,1-0,1-0]=0\k’=\frac{r+g+b}{3}=I
$$色调三角形: 由RGB立方体外表面的任意颜色点a与黑点 (0,0,0) 和白点 (1,1,1) 确定的三角形面。
色调三角形面内各点(不包括强度轴上的点)的色调相同。
RGB颜色立方体内任意颜色点的色调定义为该点的色调三角形与红色色调三角形的顺时针方向的夹角(0°~360°)。
色度: H,由角度表示,反应了该颜色最接近什么样的光谱波长。0°是红色。
$$
\theta=\arccos\left{\frac{\frac{1}{2}[(R-G)+(R-B)]}{[(R-G)^2+(R-B)(G-B)]^{1/2}}\right}
$$$$
\left.H=\left{\begin{array}{ll}\theta,&\text{if}B\le G\360^o-\theta,&\text{if}B>G\end{array}\right.\right.
$$饱和度(S): 过a点并在a点所在色调三角形中作垂直于强度轴的垂线段并与强度轴交于 点,由a两点所确定的向量的长度为a点的饱和度, 即a点到强度轴的垂直距离
计算方法:将RGB立方体在各个色平面的轮廓线的点饱和度设为1, 则颜色空间中任一点的饱和度为向量$\vec{ab}$的长度与各颜色点到强度轴强度的比值a
$$
S=1-\frac{3}{R+G+B}\min(R,G,B)
$$
RGB->HSI
HSI->RGB
伪彩色图像处理
- 伪彩色/假彩色图像处理
- 根据规定的准则对灰度值赋以颜色的处理;
- 便于人眼观察和解释灰度图像或者图像序列中的特定目标;
- 便于人眼对颜色的分辨能力
- 常用的两种伪彩色处理
- 灰度分层
- 彩色编码技术
- 区分
- 单色图像处理(灰度图像)
- 真彩色图像处理(24bit RGB图像)
灰度分层
- 一幅图像$f(x,y)$被描述为 3D 函数
使用平行于图像坐标面的平面(切割平面)切割图像函数。 - 图像被分割后的不同部分赋予不同的彩色
- 平面之上各灰度级的象素被编码成一种彩色;
- 平面之下的各灰度级的像素被编码为另一种彩色;
- 平面之中的像素随意赋予两者色彩之一。
灰度到彩色的变换
- 灰度到彩色的变换
- 灰度级到彩色的转换是更通用的伪彩色处理方
- 对任何输入象素的灰度级执行三个独立的变换, 将3个变换结果分别送入彩色电视监视器的红、绿、蓝通道。 最终产生一幅合成的彩色图像, 其彩色内容受变换函数特性调制.
全彩色图像处理基础
彩色图像像素点的表示
每个像素点由具有三个元素的向量表示
$$
\left.\mathbf{c}=\left[\begin{array}{c}c_R\c_G\c_B\end{array}\right.\right]=\left[\begin{array}{c}R\G\B\end{array}\right]
$$
彩色图像的表示
关于坐标的函数
$$
\left.\mathbf{c}(x,y)=\left[\begin{array}{c}c_R(x,y)\c_G(x,y)\c_B(x,y)\end{array}\right.\right]=\left[\begin{array}{c}R(x,y)\G(x,y)\B(x,y)\end{array}\right]
$$
处理方法
- 基于各个彩色分量处理:分别处理每一分量, 然后用分别处理过的分量图像形成合成彩色图像。
- 基于向量的处理:各个彩色分量的像素组成一个向量, 再直接对此向量进行处理。
为了使基于彩色分量的处理和基于向量的处理等同, 必须满足两个条件
- 图像处理方法必须对向量和标量都能适用;
- 对向量中每一分量的操作对于其他分量必须是独立的。
彩色变换
$$
\begin{aligned}
\mathbf{RGB}\colon g(x,y)& =kf(x,y) \
\mathsf{CMY}:g(x,y)& =kf(x,y)+(1-k) \
I \colon g(x,y)& =kf(x,y) \
\mathsf{H},\mathsf{S}:g(x,y)& =f(x,y)
\end{aligned}
$$
补色
- 定义:与一种色调(Hue)直接相对立的另一种色调. 类似于灰度图像的反转操作。
- 作用:增强嵌在彩色图像暗区的细节
彩色分层
突出图像中特殊的彩色区域对从其周围分离出目标物
- 显示感兴趣的颜色以便从背景中把它们分离出来;
- 像模板那样使用由颜色定义的区域,以便进一步处理
方法
把某些感兴趣区域以外的区域的颜色映射为不突出的不确定的中性颜色
$$
\left.s_i=\left{\begin{array}{ll}0.5,\quad[|r_j-a_j|>\frac{W}{2}]_{1\leq j\leq n},i=1,2,\cdots,n\r_i,\quad\mathrm{otherwise}\end{array}\right.\right.
$$$$
\left.s_i=\left{\begin{array}{ll}0.5,\quad\sum_{j=1}^n(r_j-a_j)^2>R_0^2,i=1,2,\cdots,n\r_i,\quad\mathrm{otherwise}\end{array}\right.\right.
$$有用的变化包括:实现多颜色模型和在感兴趣区之外的区域减小彩色亮度,而不是赋以中性值
色调和彩色校正
- 意义
- 允许对色调和不平衡的颜色交互和独立地校正——它是按两个顺序操作
- 色调校正:校正图像色调不平衡和范围 correct the intensity imbalance or tone range
- 颜色校正:correct the color imbalance or color irregularities(如过饱和及欠饱和 )
- 先色调校正,后颜色校正
- 3个典型的通常用于校正的色调不平衡(即平淡的、亮的和暗的)图像的变换(可由其直方图判断)。
- 对R,G,B三个分量采用相同的变换
- S形曲线对提升对比度较理想,它们中点固定,因此,高亮和阴影区可分别被加亮和变暗(该曲线反过来可用于校正对比度过大)。
- 图中的第二和第三行中的变换校正亮的和暗的图像。
- 对CMYK图像的彩色平衡校正
- 变换是校正图像所要求的函数。使其反函数用来产生相关联的颜色不平衡
直方图处理
- 直观方法:独立地进行彩色图像各分量的做直方图处理=>产生不正确的颜色
- 更合理的方法:均匀地扩展I,保留颜色本身(Hue and saturation)不变
平滑和锐化
平滑
可直接将灰度图像的平滑扩展到全彩色图像
$$
\left.\bar{\mathbf{c}}(x,y)=\frac{1}{K}\sum_{(x,y)\in S_{xy}}\mathbf{c}(x,y)=\left[\begin{array}{c}\frac{1}{K}\sum_{(x,y)\in S_{xy}}R(x,y)\\frac{1}{K}\sum_{(x,y)\in S_{xy}}G(x,y)\\frac{1}{K}\sum_{(x,y)\in S_{xy}}B(x,y)\end{array}\right.\right]
$$
锐化
$$
\left.\nabla^2\mathbf{c}=\left[\begin{array}{c}\nabla^2R(x,y)\\nabla^2G(x,y)\\nabla^2B(x,y)\end{array}\right.\right]
$$
彩色图像的噪声
- 各个通道的噪声特性不一定相同
- 与灰度图像相比, 彩色图像对噪声相对不敏感
小波变换和其他图像变换
背景
正交投影
信号内积与内积空间
内积
$$
\boxed{\begin{aligned}&<u,v>=<u,v>^*\&<u+v,w>=<u,w>+<v,w>\&<\alpha u,v>=\alpha<u,v>\&<v,v>\ge0and<v,v>=0onlyv=0\end{aligned}}
$$
内积空间
数域上的抽象向量空间,与内积函数共同将向量空间中的两个向量映射为属于的一个标量。
假设u(t)和v(t)是定义在(t1,t2)区间的函数,其内积为
$$
<u(t),\nu(t)>=\int_{a}^{t2}u(t)\nu(t)\operatorname{d}t
$$
向量z的范数
$$
||z||=\sqrt{<z,z>}
$$
两个向量间的角度
$$
\theta=\frac{<z1,z2>}{||z1||||||z2||}
$$
设有u和 v 是N× 1的列向量,具有如下标量内积的实数域R上的欧式空间$R^N$
$$
<u,v>=u^Tv=u_0v_0+u_1v_1+…u_{N-1}v_{N-1}=\sum_{i=0}^{N-1}u_iv_i
$$
设有u和 v 是N× 1的复值列向量,表示复共轭运算,有内积函数的复数域C上的
酉空间$C^N$
$$
<u,v>=u^{T}v=\sum_{i=0}^{N-1}u_i^v_i=<v,u>^
$$
内积空间C([a,b]),其中向量是区间$a<<x<<b$上连续函数,内积函数是积分内积
$$
<f(x),g(x)>=\int_a^bf^*(x)g(x)dx
$$
信号正交
定义在(t1,t2)区间的u(t)和v(t)满足
$$
<u(t),\nu(t)>=\int_{a}^{t2}u(t)\nu(t)\operatorname{d}t=0
$$
则称u(t)和v(t) 在区间(t1,t2)内正交
正交函数集
若n个函数u1(t), u2(t),···, un(t)构成一个函数集,这些函数在区间(t1,t2)
内满足
$$
\left.\int\limits_{t_1}^{t_2}u_i(t)u_j(t)\operatorname{d}t=\left{\begin{matrix}0,&i\neq j\K_i\neq0,&i=j\end{matrix}\right.\right.
$$
则称此函数集为在区间(t1,t2)的正交函数集/正交向量集。
向量正交
设有u和 v 是N× 1的列向量,具有如下内积的实数域R上的欧式空间$R^N$
$$
<u,v>=u^Tv=u_0v_0+u_1v_1+…u_{N-1}v_{N-1}=\sum_{i=0}^{N-1}u_iv_i=0
$$
正交基
- 如果 <u, v> = 0, 称u和v是正交的
- 若果非零向量w0,w1,w2,… 是互相两两正交,即<wi,wj>=0, i≠j, 它们是内积空间的正交基。
$$
\left.<w_i,w_j>=\delta_{ij}=\left{\begin{matrix}0,i\neq j\1,i=j\end{matrix}\right.\right.
$$
向量的正交分解
$$
z=\alpha_{0}w_{0}+\alpha_{1}w_{1}+\alpha_{2}w_{2}+…
$$
它和基向量wi的内积
$$
\begin{aligned}&<w_i,z>=<w_i,\alpha_0w_0+\alpha_1w_1+\alpha_2w_2+\ldots>\&=\alpha_0<w_i,w_0>+\alpha_1<w_i,w_1>+\ldots+\alpha_i<w_i,w_i> \end{aligned}
$$
即
$$
\alpha_{i}=\frac{<w_{i},z>}{<w_{i},w_{i}>}
$$
所以系数
$$
\begin{aligned}=\frac{\int\limits_{t_1}^{t_2}w_i(t)z(t)\operatorname dt}{\int\limits_{t_1}^{t_2}w_i^2(t)\operatorname dt}&=\frac{1}{K_i}\int\limits_{t_1}^{t_2}w_i(t)z(t)\operatorname dt\end{aligned}
$$
向量 z(t) 或者z可分解为无穷多项正交基之和
$$
\begin{aligned}z(t)&=\sum_{i=1}^\infty\alpha_iw_i(t)\\\alpha_i&=\frac1{K_i}\int_{t_1}^{t_2}z(t)w_i(t)\operatorname{d}t=<z,w_i>\end{aligned}
$$
最简单的正交函数集是什么?三角函数->DFT
相关的意义
如果两个连续函数f(x)、g(x),它们的相关定义为
$$
f\Diamond g(\Delta x)=\int_{-\infty}^\infty f^*(x)g(x+\Delta x)dx=<f(x),g(x+\Delta x)>
$$
滑动内积,度量的是两个函数的相似性
基于矩阵的变换
二维图像
时间-频率平面的基函数
基函数或基向量的选择
原则:正交、简单
变换度量的是一个函数与所选基向量的相似程度
$$
\begin{aligned}f(x)&=\frac{1}{\sqrt{N}}\sum_{u=0}^{N-1}T(u)s(x,u)\T(u)&=<s(x,u),f(x)>=s_u\Diamond f(0)\end{aligned}
$$
每个基函数都有一个唯一的谱和时间位置表征。
若s(x,y,u,v)是实值、可分离和对称的,$S_{u,v}=s_us_v^T$
基图像
基图像
基函数是N×1的列向量,第n个元素是1,其他元素是0
如果是8×8的二维标准基
傅里叶相关变换
离散哈特利变换
离散余弦变换
离散正弦变换
DST
$$
s(x,u)=\sqrt{\frac{2}{N+1}\sin(\frac{(x+1)(u+1)\pi}{N+1})}
$$
图像多分辨率分析
- 图像由相似纹理和灰度级连成的区域组成,形成物体的表示
- 物体较小时,较高的分辨率
- 物体较大时,较低的分辨率
- 若较大和较小同时存在呢?
- 图像金字塔
- 子带编码
- 哈尔变换
图像金字塔
以金字塔形状排列的、分辨率逐步降低的图像集合
子带编码
哈尔变换
多分辨率分析
小波变换
小波函数
哈尔小波
小波级数展开
将函数f(x)展开为小波函数和尺度函数的小波级数
一维离散小波变换
如果待展开的函数是离散的,得到的系数就称为离散小波变换(DWT)
$$
\begin{aligned}
&\text{f} (x)=\frac{1}{\sqrt{N}}\Bigg[T_{\varphi}(0,0)\varphi(x)+\sum_{j=0}^{J-1}\sum_{k=0}^{2^{j}-1}T_{\psi}(j,k)\psi_{j,k}(x)\Bigg] \
&T_{\varphi}(0,0)=<f(x),\varphi_{0,0}(x)>=<f(x),\varphi(x)>=\frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}f(x)\varphi^{}(x) \
&T_{\psi}(j,k)=<f(x),\psi_{j,k}(x)>=\frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}f\left(x\right){\psi_{j,k}}^{}(x)
\end{aligned}
$$
二维离散小波变换
图像压缩
基础知识
研究原因
存储挑战
信息传输方式发生改变
图像压缩的可行性
- 给定信息量不变或尽量少变,表示信息所需的数据量减少
- 数据:信息的载体
- 相同数量的信息可以用不同数量的数据表示(相同货物可以大车拉也可以小车载)
冗余
包含不相关或重复信息的表示
令b和b’代表相同信息的两种表示中的比特数(或信息携带单元),那么用
比特表示的相对数据冗余是:
$$
R=1-1/C
$$C为压缩率,定义为:
$$
C=\frac{b}{b’}
$$
数据冗余的类型
编码冗余
编码(Code)是用于表示信息实体或事件集合的符号系统(字母、数字、比特或类似的符号等)。每个信息或事件被赋予一个编码符号的序列,称之为码字(Code Word)。每个码字中的符号数量就表示该码字的长度。在多数二维灰度阵列中,用于表示灰度的8比特编码所包含的比特数比表示该灰度所需要的比特数多。
- 当对事件集合(如灰度值)分配编码的时候,如果不取全部事件概率的优势,就会出现编码冗余。
- 用自然二进制编码表示一幅图像的灰度时,编码冗余几乎总是存在的。图像的直方图并不总是均匀分布,对于出现频次大的灰度级和出现频次小的灰度级采用同样长度的比特数进行编码,平均比特数不是最小的,从而产生编码冗余。
空间和时间冗余
图像压缩:利用相邻像素相关性进行图像缩放、压缩(小波分解)
图像序列:利用相邻图像相关性进行视频图像压缩
不相关的信息
会导致重构图像的质量会有较少的或不被察觉的下降
丢失掉“不可见的结构”及其周围的随机灰度变化。这些信息是否应该保留由应用决定。如果信息重要,则不应该被遗漏;如果不重要,则为冗余信息,为确保压缩性能,可将其排除在外。
信息熵
给定一个统计独立随机事件的信源,其对应的一个可能的离散集合为${a_{1},a_{2},\cdots,a_{J}}$,与该集合相联系的概率为${P(a_1),P(a_2),\cdots,P(a_J)}$,则每个信源输出的平均信息称为该信源的熵
$$
H=\sum_{j=1}^{J}P(a_j)\log\frac{1}{P(a_j)}=-\sum_{j=1}^{J}P(a_j)\log P(a_j)
$$
信源符号,是统计独立的,所以也称为零记忆信源
如果将一幅图像考虑为一个虚构的零记忆“灰度信源”的输出,则灰度信源的熵为
$$
\tilde{H}=-\sum_{k=1}^{L-1}P_r(r_k)\log_2P_r(r_k)
$$
虚构灰度信源的每个灰度输出的平均信息用比特度量,故采用2为对数底。对虚构信源的灰度值的编码(取样图像)不可能比$\tilde{H}$比特/像素还少
图像信息的度量
香农第一定理/无噪声编码定理
保真度准则
量化图像信息丢失的方法:
客观保真度准则;
主观保真度准则
- 大部分解压缩图像最终还是由人来进行观察的
- 通过向观察者显示解压缩的图像,并将它们的评估结果进行平均
- 评估可以是绝对等级尺度,也可以是压缩后图像与压缩前图像的并排比较
图像压缩模型
- 编码器(编码或压缩过程)+解码器(解码或解压缩过程)
- 如果重构图像是输入的精确复制,则压缩系统被称为无误差的、无损的或信息保持的压缩系统;如果重建图像有失真,则压缩系统称为有损压缩系统。
编码器
编码器(编码或压缩过程)
- 映射器:减少像素冗余,进行图像变换。
- 量化器:减少视觉心理冗余,仅用于有损压缩。
- 符号编码器:减少编码冗余,提高编码效率。
解码器
符号解码器和反映射器,不包含反量化器
图像的格式、容器和压缩标准
- 图像文件格式:组织和存储图像数据的标准方法,定义了所使用的数据排列的方式和压缩的类型(如果有的话)。
- 图像容器:类似于文件格式,但处理多种类型的图像数据。
- 图像压缩标准:对压缩和解压缩图像定义了过程,也就是定义减少表示这一幅图像所需数据量的过程。
JPEG
连续色调静止图像压缩标准:JPEG(Joint Picture Expert Group)
- 把整个图像分解成多个8×8的图像块;
- 8×8的图像块经过DCT变换后,低频分量都集中在左上角,高频分量则分布在右下角
(DCT变换类似于低通滤波器),因低频分量包含了图像的主要信息,故可忽略高频分量,达到压缩的目的; - 使用量化操作去掉高频分量,量化操作就是将某一个值除以量化表中的对应值。由于量化表中左上角的值较小,而右下角的值较大,这样达到保持低频分量,抑制高频分量的目的;
- 在左上角的低频分量中,F(0,0)代表了直流(DC)系数,即8×8子块的平均值。由于两个相邻图像块的DC系数相差很小,所以采用差分编码DPCM,其它63个元素是交流(AC)系数,采用之字型(zig-zag)顺序进行行程编码,使系数为0的值更集中;
- 在得到DC码字和AC行程码字后,为了进一步提高压缩比,再进行熵编码,采用了
Huffman编码
视频压缩标准
- 电视会议标准:H.261、H.263
- MPEG标准
- 基本思想
可以根据同帧附近像素来加以预测,被称为:帧内编码技术;
可以根据附近帧中的像素来加以预测,被称为:帧间编码技术 - I帧(Intra-picture):不需要参考其它画面而独立进行压缩编码的画面
- P帧(Predicted-picture):参考前面已编码的I或P画面进行预测编码的画面
- B帧(Bidirectional-picture):既参考前面的I或P画面、又参考后面的I或P画
面进行双向预测编码的画面
一些基本的压缩方法
霍夫曼编码
用于如下压缩标准中
- CCITT
- JBIG2
- JPEG
- MPEG-1,2,4
- H.261,H.262, H.263, H.264
可变字长编码(VLC)的一种,完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。
Golomb编码
算术编码
LZW编码
行程编码
基于符号的编码
比特平面编码
块变换编码
预测编码
小波编码
霍夫曼编码
Step1:对所考虑符号的概率进行排序,将具有最小概率的符号合并为一个符号来替代下次信源简化过程中的符号,从而创建一个简化信源系列
Step2:对每个简化后的信源进行编码,从最小的信源开始,直到遍历原始信源。
霍夫曼编码过程对一组符号产生最佳编码,其概率服从一次只能对一个符号进行编码的限制。霍夫曼编码建立后,通过查找表的方式完成解码,具有唯一可解码。
Golomb编码
Golomb(哥伦布)编码是一种基于游程编码(run-length encoding,RLE)的无损的数据编码方式,当待压缩的数据符合几何分布(Geometric Distribution)时,Golomb编码取得最优效果。
针对具有指数衰减概率分布输入的非负的整数编码
算术编码
- 从整个符号序列出发,采用递推形式连续编码
- 在算术编码中,源符号和码字间的一一对应关系并不存在。1个算术码字要赋给整个信源符号序列,而码字本身确定0和1之间的1个实数区间
- 随着符号序列中的符号数量增加,用来代表它的区间减小而表达区间的信息单位数量变大
算术编码的压缩本质,就是在保留字符排列顺序的同时,对于更高频出现的字符,也就是概率更大的字符,赋予更大的小数区间。
LZW编码
一种用于图像中的的空间冗余的无误差压缩方法
- 既能解决图像的编码冗余,又能解决空间冗余问题
- 对变长序列分配定长码字
- 不需要编码符号出现的概率的先验知识
- 使用LZW的文件格式包括GIF,TIFF和PDF等。
行程编码
消除空间冗余
- 行程编码是一种最简单的,在某些场合非常有效的无损压缩编码方法
- 一种典型的图像编码方式
- 基本思想:通过改变图像的描述方式,实现图像压缩
- 将一行中灰度值相同的相邻像素,用一个计数值和该灰度值来表示
- 把具有相同灰度值的像素序列称为行程
- 用行程的灰度和行程的长度代替行程本身,去除像素冗余
基于符号的编码
主要用于文档存储和检索应用
基本思想
将图像表示为多幅频繁发生的子图像的一个集合,每一个子图像称为符号。所
有符号的集合称为符号字典。图像以一个三元组的集合来进行编码。三元组集合表示为:
块变换编码系统
- 行程编码和霍夫曼编码基于读信息表述方式的改变,属于无损压缩。
- 能否忽略视觉不敏感的部分,进行部分有损压缩,来提高压缩率
- 基本思想:把图像分成大小相等且不重叠的小块(也叫子图像),用一种可逆线性
变换把每个块/子图像映射为变换系数集合,然后对变换系数进行量化和编码。
常见的变换核
DFT
$$
\begin{aligned}r(x,y,u,v)&=\mathrm{e}^{-j2\pi(ux+vy)/n}\\s(x,y,u,v)&=\frac{1}{n^2}\mathrm{e}^{j2\pi(ux+vy)/n}\end{aligned}
$$WHT
DCT
子图像尺寸选择
- 影响变换编码误差和计算复杂性。通常,压缩水平和计算复杂性随子图像尺寸的增大而增大。通常 $\eta$为2 的整数次幂。
- 分块能够将相邻子图像之间的相关性冗余降低到可接受的程度。
比特分配:对变换后的子图像的系数进行截取、量化和编码的整个过程
如果保留的系数是根据最大方差进行选择的,称为区域编码
如果是根据最大幅度进行选择的,称为阈值编码
区域编码的实现
- 基本思想:以信息论中观察信息为不确定性的概念为基础,假设具有最大方差变换系数携带大部分的图像信息,在编码处理中应该保留;
- Step1: 构建区域模板,在方差最大位置处模板元素设置为1,其他位置设置为0;
- Step2: 将每个离散变换乘以区域模板中的对应元素,得到保留的系数;
- Step3: 对保留的系数进行量化和编码,因此,区域模板有时候被描述成用于对每个系数进行编码的比特数。
阈值编码的实现
- 基本思想:对所有的子图像使用单个固定模板;
- 由于每幅不同的子图像,对系数进行阈值化,保留下来的系数的位置都不同,
所以阈值编码具有固有的自适应性; - 计算简单,是实际中常用的自适应变换编码方法;
- 三种方式:
- 对所有图像使用单一的全局阈值;
- 对每幅子图像使用不同的阈值;
- 阈值随子图像内每个系数的位置的变化而变化。
预测编码
- 基本思想:通过消除紧邻像素在空间和时间上的冗余实现,仅对每个像素中的新信息进行提取和编码,像素的新信息定义为该像素的实际值与预测值之间的差;
- 方法:无损预测编码、运动补偿预测残差、有损预测编码
无损预测编码
运动补偿预测编码
- 视频序列中的连续帧通常是很相似的,具有较大的相关性,对它们的差值进行编码可减少时间冗余并进行有效地压缩。
- 当帧序列包含快速运动的目标时/摄像机缩放与摇镜头、场景突然变化/突然淡入淡出时,帧序列间的相关性降低,会对压缩率造成负面影响。
- 解决方案
- 运动补偿:在预测和差分处理期间,跟踪目标运动并对其进行补偿
- 当存在帧间相关不足以发挥预测编码的优点的时,转换到另一种编码方法。
有损预测编码
数字图像水印
- 目的:阻止非法复制
- 方法:将称之为水印的一条或多条信息插入潜在的易受到攻击的图像中。
- 具体功能
- 版权识别。当所有者的权益被侵犯时,数字水印可提供作为所有权证据的信息。
- 用户识别或指纹。将合法拥护的身份在水印中编码,用于识别非法复制源。
- 著作权认定。如果水印设计成对图像的任何修改,水印会被破坏,则可保护一幅图像不被篡改。
- 自动监视。通过系统对水印进行监视,可在任何时间和地点跟踪所使用的图像。可用于版税征收和非法用户定位监测
- 复制保护。水印可制定使用和复制图像的规则,如对DVD播放器。
可见水印
不可见水印
形态学处理
基础知识
概述
- 数学形态学:一种从图像中提取表达和描绘区域形状的有用图像分量(如边界、骨架和凸壳)等的数学工具;
- 数学语言:集合论(目标元素、结构元);
- 基本思想:用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的;
- 基本运算:膨胀、腐蚀、开操作和闭操作
集合论基础
集合的并、交、补、差
集合的反射与平移
反射
$$
\hat{B}={w|w=-b,\quad\mathrm{for}\quad b\in B}
$$平移
$$
\begin{aligned}(B)_z&={c|c=b+z,\quad\text{for}\quad b\in B}\\z&=(z_1,z_2)\end{aligned}
$$结构元(中心元素+集合成员)
结构元B在集合A上的操作定义
- 让B在A上运行,以便B的原点访问A的每个元素,来创建一个新的集合。在B的每个原点位置,如果B完全被A包围,则将该位置标记为新集合的一个成员;否则,将该位置标记为非新集合的成员。
腐蚀与膨胀
腐蚀
作为$Z^2$中的集合A和B,B对A的腐蚀记为$A\ominus B$,定义为$A\ominus B={(i,j)|B_{ij}\subseteq A}$
$$
\begin{aligned}A\ominus B&={z|(B)_z\subseteq A}\A\ominus B&={z|(B)_z\cap A^c=\varnothing}\end{aligned}
$$
膨胀
作为$Z^2$中的集合A和B,B对A的腐蚀记为$A\oplus B$,定义为
$$
\begin{aligned}A\oplus B&={z|(\hat{B})_z\cap A\neq\varnothing}\A\oplus B&={z|(\hat{B})_z\cap A\subseteq A}\end{aligned}
$$
膨胀与腐蚀的对偶性
膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的,即
$$
\begin{aligned}&(A\oplus B)^c=A^c\oplus\hat{B}\\&(A\oplus B)^c=A^c\oplus\hat{B}\end{aligned}
$$
总结:
- 膨胀、腐蚀都是集合运算,非线性
- 类似于卷积,结构元SE同卷积核,但卷积是线性
- 腐蚀收缩或细化目标,膨胀增长或粗化目标
开操作与闭操作
- 开运算B的所有包含于A的平移的并集
- 闭运算B的所有不于A重叠的平移的并集的补集
定义
开操作
先腐蚀后膨胀
$$
\begin{gathered}
\begin{aligned}A\circ B=(A\ominus B)\oplus B\end{aligned} \
A\circ B=\bigcup{(B)_z|(B)_z\subseteq A}
\end{gathered}
$$
闭操作
先膨胀后腐蚀
$$
\begin{aligned}&A\bullet B=(A\oplus B)\oplus B\&A\bullet B=\left[\bigcup\left{\left(B\right)_z\mid\left(B\right)_z\cap A=\emptyset\right}\right]^c\end{aligned}
$$
总结
- 开运算平滑目标轮廓、断开狭窄的颈部、消除细长的突出
- 闭运算平滑目标轮廓,但弥合狭窄的断裂和细长的沟壑,消除小孔,填补缝隙
开操作
闭操作
性质
对偶性
$$
(A\circ B)^c=(A^c\bullet\hat{B})
$$其他性质
- 开运算是A的子集
- 若C是D的一个子集,则C · B是D · B的一个子集
击中或击不中变换
$$
I\otimes B_{1,2}={z\mid(B_1)_z\subseteq A\text{和}(B_2)_z\subseteq A^c}=(A\oplus B_1)\bigcap(A^c\oplus B_2)
$$
一些基本的形态学算法
边界提取
$$
\beta(A)=A-(A\ominus D)
$$
孔洞填充
$$
X_k=(X_{k-1}\oplus B)\cap A^c,k=1,2,3,\cdots\text{if}X_k=X_{k-1}\text{ then stop}
$$
连通分量的提取
$$
\begin{aligned}X_k=(X_{k-1}\oplus B)\cap A,k=1,2,3,\cdots\text{ if }X_k=X_{k-1}\text{ then stop}\end{aligned}
$$
凸包convex hull
$$
X_k^i=(X_{k-1}^i\otimes B^i)\cup A,X_0^i=A,i=1,2,3,4\text{and}k=1,2,3,\cdots
$$
$$
\text{if }X_k^i=X_{k-1}^i\text{ then let }D^i=X_k^i
$$
A的凸包为:$C(A)=\cup_{i=1}^4D^i$
细化
定义
$$
A\otimes B=A-(A\circledast B)=A\cap(A\circledast B)^c
$$对称细化:以结构元序列${B}={B^{1},B^{2},\cdots,B^{n}}$为基础,依次执行细化:
$$
A\otimes{B}=((\cdots((A\otimes B^1)\otimes B^2))\otimes B^n)
$$
$B^i$是$B^{i-1}$的旋转后的形式
粗化
细化的形态学对偶,定义如下:
$$
A\odot B=A\cup(A\circledast B)
$$
粗化处理也可定义为一个系列操作:
$$
A\odot{B}=((\cdots((A\odot B^1)\odot B^2))\odot B^n)
$$
骨架化
用腐蚀和开操作来表达:
裁剪
- 是细化和骨架化算法的补充
- 细化和骨架化过程会保留某些寄生分量,如毛刺,因此需要用后处理来清楚这些寄生分量。
形态学重建
涉及两幅图像和一个结构元,一幅图像是标记图像,包含变换的起始点,另一幅图像是模板,对变换进行约束。结构元用来定义连接性。
核心:测地膨胀和腐蚀。
测地膨胀:令F表示标记图像,G表示模板图像。假定两幅图像都是二值图像,且$ F\subseteq G$。令$D_{G}^{(1)}(F)$表示大小为1的标记图像关于模板的测地膨胀:
$$
D_G^{(1)}(F)=(F\oplus B)\cap G
$$
F关于G的大小为n的测地膨胀定义为:
$$
D_G^{(n)}(F)=D_G^{(1)}\left[D_G^{n-1}(F)\right]\quad D_G^{(0)}(F)=F
$$测地腐蚀:令F表示标记图像,G表示模板图像。假定两幅图像都是二值图像,且$ F\subseteq G$。令$D_{G}^{(1)}(F)$表示大小为1的标记图像关于模板的测地腐蚀:
$$
D_G^{(1)}(F)=(F\ominus B)\cap G
$$
F关于G的大小为n的测地腐蚀定义为:
$$
E_G^{(n)}(F)=E_G^{(1)}\left[E_G^{n-1}(F)\right]\quad E_G^{(0)}(F)=F
$$
灰度级形态学
- 二值图像的形态学处理
- 图像和结构元素均值二值的
- 灰度图像的形态学处理
- 图像$f(x,y)$和结构元素$b(x,y)$均是数字函数。
- 结构元分两种:非平坦结构和平坦结构。
- 结构元反射的定义:$\hat b (x,y)=b(-x,-y)$
- 作用:作为一个探测器以明确的特性检验一幅给定的图像。
腐蚀和膨胀
腐蚀
平坦结构元
非平坦结构元
膨胀
平坦结构元
非平坦结构元
形态学平滑
形态学梯度
$$
g=(f\oplus b)-(f\ominus b)
$$
顶帽变换和底帽变换
- 顶帽变换$T_{hat}(f)=f-(f\circ b)$
- 底帽变换$B_{hat}(f)=(f\bullet b)-f$
- 目的:通过开操作或闭操作从一幅图像中删除物体,而不是拟合被删除的物体。差操作得到一幅仅保留已删除分量的图像。
粒度测定
判断图像中颗粒的尺寸分布
灰度形态学重构
测地膨胀
测地膨胀:令f表示标记图像,g表示模板图像。假定两幅图像是大小相同的的灰度图像,且$f \le g$。令$D_g^{(1)}(F)$ 表示大小为1的标记图像关于模板的测地膨胀:
$$
\begin{aligned}D_g^{(1)}(f)&=(f\oplus b) \wedge g\end{aligned}
$$
f关于g的大小为n的测地膨胀定义为:
$$
D_g^{(n)}(f)=D_g^{(1)}\begin{bmatrix}D_g^{n-1}(f)\end{bmatrix}\quad\quad D_g^{(0)}(f)=f
$$
测地腐蚀
测地腐蚀:令f表示标记图像,g表示模板图像。假定两幅图像是大小相同的的灰度图像,且$f \le g$。令$E_g^{(1)}(F)$ 表示大小为1的标记图像关于模板的测地膨胀:
$$
\begin{aligned}E_g^{(1)}(f)&=(f\ominus b) \vee g\end{aligned}
$$
f关于g的大小为n的测地膨胀定义为:
$$
E_g^{(n)}(f)=E_g^{(1)}\begin{bmatrix}E_g^{n-1}(f)\end{bmatrix}\quad\quad E_g^{(0)}(f)=f
$$
图像分割
基础知识
概述
- 图像分割:将图像细分成构成它的子区域或物体。细分程度取决于要解决的问题。
- 基于灰度值的两个基本性质之一,即不连续性和相似性。
- 基于不连续性的分割方法:以灰度突变为基础,比如图像的边缘。
- 基于相似性的分割方法:根据一组预定义的准则将一幅图像分割为相似的区域,如阈值处理、区域生长、区域分裂、区域聚合
分割任务的定义
点、线和边缘检测
- 以灰度局部剧烈变化检测为基础的分割方法。
- 三种感兴趣的图像特征:孤立点、线和边缘
- 边缘像素:图像中灰度突变的像素
- 边缘:相连接的边缘像素的集合
- 边缘检测器:一种检测边缘像素的局部图像处理方法
- 线:一条线可视为一条边缘线段,该线两侧的背景灰度要么远亮于该线的像素的灰度,要么远暗于该线的像素的灰度
- 孤立点:长度为1的线
孤立点的检测——拉普拉斯算子
$$
\begin{aligned}
&\begin{aligned}\nabla^2f(x,y)=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2}\end{aligned} \
&\begin{aligned}\frac{\partial^2f}{\partial x^2}&=f(x+1,y)+f(x-1,y)-2f(x,y)\end{aligned} \
&\begin{aligned}\frac{\partial^2f}{\partial y^2}&=f(x,y+1)+f(x,y-1)-2f(x,y)\end{aligned}
\end{aligned}
$$
各向同性,响应与方向无关
特定方向的线检测——线检测模板
边缘模型——基于灰度突变来分割图像的常用方法
- 台阶边缘:1像素的距离上出现两个灰度级间的理想过渡;
- 斜坡边缘:被模糊且带有噪声的边缘
- 屋顶边缘:通过一个区域的线的模型,其基底(宽度)由该线的宽度和尖锐
度决定。
从斜坡开始处和在斜坡上的各个点处,一阶导数为正,恒定灰度处为零;
二阶导数生成两个点(不希望);
二阶导数的零交叉点可用于定位粗边缘的中心。
带噪边缘的一阶导数和二阶导数的性质:导数对噪声很敏感
执行边缘检测的三个基本步骤
对图像进行平滑处理,以降低噪声
边缘点检测:局部操作,从一幅图像中提取所有的点,这些点是变为边缘点的潜在后选者
边缘定位:从候选边缘点中选择组成边缘点集合的真实成员
基本边缘检测
图像梯度及其性质
Roberts算子
Prewitt算子
Sobel算子
梯度算子——检测对角边缘的Prewitt和Sobel算子
更先进的边缘检测技术
Marr-Hildreth边缘检测器
灰度变化与图像尺寸有关,故检测过程中要求使用不同尺寸的算子;
灰度的突然变化会在一阶导数中导致波峰或波谷,或在二阶导数中等效地引起零交叉。
要求检测算子能被“调整”以便在任何期望的尺寸上起作用,即大算子可用于检测模糊边缘,小算子可用于检测锐度集中的精细细节;
要求检测算子是能在图像的每一处计算一阶导数或二阶导数的数字近似的微分算子。
Canny边缘检测器
- 低错误率。所有边缘都应该被找到,并且应该没有伪响应。也就是检测到的边缘必须尽可能是真是的边缘。
- 边缘点定位精准。已定位边缘必须尽可能接近真实边缘。也就是由检测器标记为边缘的点和真实边缘的中心之间的距离应该最小。
- 单一边缘点响应。对于真实的边缘点,检测器仅应返回一个点。也就是真实边缘周围的局部最大数应该是最小的。意味着在仅存一个单一边缘点的位置,检测器不应该指出多个边缘像素。
算法
去噪
计算梯度幅值和角度
非极大值抑制细化边缘
用双阈值处理和连接分析来检测并连接边缘
边缘连接和边界检测
- 理想情况:边缘检测仅产生位于边缘上的像素集合;
- 实际情况:噪声、不均匀光照等使得检测到的边缘不连续,检测出来的边缘像素很少能完全刻画真实边缘特性。
- 解决方案:边缘检测后,执行连接算法,将边缘像素组合成有意义的边缘或区域边界,通常有三类方法:
- 局部处理
- 区域处理
- 全局处理
局部处理
- 基本思想:在每个点(x,y)处的一个小邻域内分析像素的特点,根据预定的准
则,将所有的相似点连接起来,以形成根据指定准则满足相同特性像素的一条
边缘。 - 确定边缘像素相似性的两个主要性质:
- 梯度向量的强度(幅度)
- 梯度向量的方向。
区域处理
- 前提:感兴趣区域的位置已知或者可以确定,相应的边缘图像中关于像素的区域成员的知识是可用的;
- 基本思想:函数近似
使用霍夫变换的全局处理
- 解决方案:用一条直线的法线表示
阈值处理
灰度阈值处理基础
灰度阈值的成功与否直接关系到可区分直方图模式的波谷的宽度和深度。影响波谷特性的关键因素有:
- 波峰间的间隔,波峰间隔越远,模式被很好地
的分离的概率越大; - 图像中的噪声内容,模式随噪声的增加而展宽;
- 物体与背景的相对尺寸;
- 光源的均匀性;
- 图像反射特性的均匀性。
图像阈值处理中噪声的作用
光照和反射的作用
基本的全局阈值处理
用Otsu方法的最佳全局阈值处理
用图像平滑改善全局阈值处理
- 平滑处理后,直方图形状改进明显,阈值处理结果改进明显;
- 用于平滑的均值滤波器的模板越大,物体的边缘越模糊,分割出来的物体的边缘与真实边缘误差会越大。
多阈值处理
可变阈值处理
基于图像分块的可变阈值处理
基于局部图像特性的可变阈值处理
基于移动平均的可变阈值处理
基于区域的分割
- 区域生长:根据预先定义的生长准则,将像素或子区与组合为更大区域的过程。
- 相似性准则:取决于问题和图像数据类型;
- 设计关于灰度值、纹理和彩色的局部相似性准则;
- 利用候选像素与已加入生长区域的像素间的大小、相似性、正在生长的区域的形状来判断是否将候选像素加入生长区域;
- 终止规则:当像素不再满足加入某个区域的准则时,则停止区域生长。
- 相似性准则:取决于问题和图像数据类型;
- 区域分裂与聚合:将图像细分为不相交区域,然后聚合和/或分裂这些区域。
- 算法说明:
- 对于整个图像,如果满足预定义准则,则将图像划分为四个象限区域;
- 对于任意细分区域,如果满足预定义准则,则将细分区域划分为四个象限区域;直到所有细分区域均不满足预定义准则;
- 对于两个相邻的细分区域,判断并集是否满足预定义准则,如果不满足,则将两个区域进行合并;直到任意两相邻细分区域的并集均不满足预定义准则。
- 算法说明:
用形态学分水岭的分割
分割中运动的运动
- 空间域技术:检测运动物体
- 如何建立参考图像?
- 将图像序列中的第一幅图像作为参考图像。
- 当一个非固定成分完全移除参考帧的位置时,当前帧中对应的背景复制到最初被参考帧中物体占据的位置。
- 当所有的物体均已完全移除原来的位置时,就创建了一幅仅包含固定成分的参考图像
- 如何建立参考图像?