文章目录
图像处理与机器学习
2.1 图像增强方法
2.1.1空间域增强
- 灰度变换(线性变换、非线形变换)
- 代数运算(加法运算、减法运算、乘法运算)
- 空间域滤波(低通滤波、高通滤波)
以上三种方法是直接对图像像素的灰度级进行操作,称之为空间域增强
2.1.2频域增强
- 频域滤波)
2.2.1灰度变换
——简单、常用的空间域图像增强方法
——输入图像像素的灰度级进行变换
s=T[r] r/s: 输入/输出灰度级
T:灰度变换函数 {线形或非线形}
线形变换
- 灰度拉伸
- 灰度压缩
非线形变换
- 对数变换
s = c × l o g ( 1 + r ) s=c\times log(1+r) s=c×log(1+r)
窄带低灰度输入图像–>宽带输出图像
- 幂次变换
s = c × r γ s=c\times r^\gamma s=c×rγ
高灰度输入图像–>宽带输出图像 γ > 1 \gamma>1 γ>1
窄带低灰度输入图像–>宽带输出图像 γ < 1 \gamma<1 γ<1
- 直方图均衡
灰度直方图
H A ( D ) H_A(D) HA(D): 变换之前图像的直方图
H B ( D ) : H_B(D): HB(D): 变换之后图像的直方图
H B ( D B ) = H A ( D A ) f ’ ( D A ) H_B(D_B)=\frac{H_A(D_A)}{f^{’}(D_A)} HB(DB)=f’(DA)HA(DA)
灰度变换后图像直方图是变换前直方图与变换函数导数之比
直方图均衡
灰度级动态范围窄—> 每个灰度级都拥有像素
直方图分布不均匀—>直方图分布均匀
H B ( D B ) = H A ( D A ) f ’ ( D A ) = 常数 = A 0 D m H_B(D_B)=\frac{H_A(D_A)}{f^{’}(D_A)}=常数=\frac{A_0}{D_m} HB(DB)=f’(DA)HA(DA)=常数=DmA0
D m D_m Dm代表灰度级, A 0 A_0 A0代表图像像素总数
2.2.2代数运算
加法运算
定义——两幅或多幅图像相加
C ( x , y ) = A ( x , y ) + B ( x , y ) C(x,y)=A(x,y)+B(x,y) C(x,y)=A(x,y)+B(x,y)
应用——去除叠加性噪声
减法运算
定义——两幅图像相减
C ( x , y ) = A ( x , y ) − B ( x , y ) C(x,y)=A(x,y)-B(x,y) C(x,y)=A(x,y)−B(x,y)
应用——分割特定区域,检测场景变化
乘法运算
定义——两幅图像相乘
C ( x , y ) = A ( x , y ) × B ( x , y ) C(x,y)=A(x,y)\times B(x,y) C(x,y)=A(x,y)×B(x,y)
应用——获取图像中特定的部分
2.2.3空间域滤波
低通滤波(去噪)
- 均值滤波
h ( m , n ) = [ 1 1 1 1 1 1 1 1 1 ] h(m,n)=\begin{bmatrix}1&1&{1}\\{1}&{1}&{1}\\{1}&{1}&{1}\end{bmatrix} h(m,n)= 111111111
应用:提取感兴趣物体
- 高斯低通滤波(加权平均)
h ( m , n ) = [ 1 2 1 2 4 2 1 2 1 ] h(m,n)=\begin{bmatrix}1&2&{1}\\{2}&{4}&{2}\\{1}&{2}&{1}\end{bmatrix} h(m,n)= 121242121
应用:图像平滑
-
中值滤波
–邻域内像素(包括原像素)灰度排序
–取中间值
使突出的亮(暗)点更接近它周边的点,消除孤立的亮点或暗点
去除噪声的同时,比较好地保留边缘
能够有效去除脉冲噪声(黑白点叠加在图像上)
高通滤波(图像锐化)
突出图像的细节特征、增强图像模糊的边缘
- Laplace算子
--对噪声敏感
--不能检测边缘的方向
--零交叉性质进行边缘定位
h ( m , n ) = [ 0 − 1 0 − 1 4 − 1 0 − 1 0 ] h(m,n)=\begin{bmatrix}0&-1&0\\-1&4&{-1}\\{0}&{-1}&{0}\end{bmatrix} h(m,n)= 0−10−14−10−10
- Sobel算子
--对噪声敏感度较低
--可以检测边缘的方向
--无法进行边缘定位
h ( m , n ) = [ − 1 0 1 − 1 0 2 − 1 0 1 ] h(m,n)=\begin{bmatrix}-1&0&1\\-1&0&{2}\\{-1}&{0}&{1}\end{bmatrix} h(m,n)= −1−1−1000121
2.3 频域增强
2.3.1二维离散傅里叶变换定义
连续周期信号可以表示为一系列不同频率的正弦波的线形叠加
傅里叶级数
x ~ ( t ) = ∑ n = − ∞ ∞ C n e j n ω 0 t \tilde{x}(t)=\sum_{n=-\infty}^{\infty} C_n \mathrm{e}^{\mathrm{j} n \omega_0 t} x~(t)=∑n=−∞∞Cnejnω0t
C n = 1 T 0 ∫ t 1 t 1 + T 0 x ~ ( t ) e − j n ω 0 t d t C_n=\frac{1}{T_0} \int_{t_1}^{t_1+T_0} \tilde{x}(t) \mathrm{e}^{-\mathrm{j} n \omega_0 t} \mathrm{~d} t Cn=T01∫t1t1+T0x~(t)e−jnω0t dt
连续时间非周期信号的傅里叶变换
x ( t ) = 1 2 π ∫ − ∞ ∞ X ( j ω ) e j ω t d ω x(t)=\frac{1}{2 \pi} \int_{-\infty}^{\infty} X(\mathrm{j} \omega) \mathrm{e}^{\mathrm{j} \omega t} \mathrm{~d} \omega x(t)=2π1∫−∞∞X(jω)ejωt dω
X ( j ω ) = ∫ − ∞ ∞ x ( t ) e − j ω t d t X(\mathrm{j} \omega)=\int_{-\infty}^{\infty} x(t) \mathrm{e}^{-\mathrm{j} \omega t} \mathrm{~d} t X(jω)=∫−∞∞x(t)e−jωt dt
一维离散信号傅里叶变换
X [ m ] = ∑ k = 0 N − 1 x [ k ] ⋅ e − j 2 π N m , m = 0 , 1 , 2 , , N − 1 \quad X[m]=\sum_{k=0}^{N-1} x[k] \cdot e^{-j \frac{2 \pi}{N} m}, \quad m=0,1,2, \quad, N-1 X[m]=∑k=0N−1x[k]⋅e−jN2πm,m=0,1,2,,N−1
反变换 x [ k ] = 1 N ∑ m = 0 N − 1 X [ m ] ⋅ e j 2 π N m k , k = 0 , 1 , 2 , N − 1 x[k]=\frac{1}{N} \sum_{m=0}^{N-1} X[m] \cdot e^{j \frac{2 \pi}{N} m k}, \quad k=0,1,2,N-1 x[k]=N1∑m=0N−1X[m]⋅ejN2πmk,k=0,1,2,N−1
二维离散信号傅里叶变换
F
(
u
,
v
)
=
1
M
N
∑
x
=
0
M
−
1
∑
y
=
0
N
−
1
f
(
x
,
y
)
e
−
j
2
π
(
u
x
/
M
+
v
y
/
N
)
,
u
=
0
,
1
,
…
M
−
1
v
=
0
,
1
,
…
N
−
1
F(u, v)=\frac{1}{M N} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y) e^{-j2 \pi(u x / M+v y / N)}, \begin{array}{l}u=0,1, \ldots M-1 \\ v=0,1, \ldots N-1\end{array}
F(u,v)=MN1∑x=0M−1∑y=0N−1f(x,y)e−j2π(ux/M+vy/N),u=0,1,…M−1v=0,1,…N−1
f
(
x
,
y
)
=
∑
u
=
0
M
−
1
∑
v
=
0
N
−
1
F
(
u
,
v
)
e
j
2
π
(
u
x
/
M
+
v
y
/
N
)
,
x
=
0
,
1
,
…
M
−
1
y
=
0
,
1
,
…
N
−
1
f(x, y)=\sum_{u=0}^{M-1} \sum_{v=0}^{N-1} F(u, v) e^{j 2 \pi(u x / M+v y / N)}, \begin{array}{l}x=0,1, \ldots M-1 \\ y=0,1, \ldots N-1\end{array}
f(x,y)=∑u=0M−1∑v=0N−1F(u,v)ej2π(ux/M+vy/N),x=0,1,…M−1y=0,1,…N−1
M,N:图像宽和高; (x,y):空间变量;(u,v):频率变量
数字图像傅里叶变换特点
数字图像 f ( x , y ) f(x,y) f(x,y)是实函数
F ( u , v ) = F ( − u , − v ) F(u,v)=F(-u,-v) F(u,v)=F(−u,−v)
∣ F ( u , v ) ∣ = ∣ F ( − u , − v ) ∣ |F(u,v)|=|F(-u,-v)| ∣F(u,v)∣=∣F(−u,−v)∣
-
数字图像傅里叶变换是对称的
-
数字图像频谱幅度谱是对称的
2.3.2二维离散傅里叶变换性质
傅里叶变换主要性质
- 平移特性
- 旋转特性
在空间域图像旋转 θ 0 \theta_0 θ0,频谱同样旋转 θ 0 \theta_0 θ0
- 尺度变换(缩放)
- 卷积特性
f
(
x
,
y
)
⊗
h
(
x
,
y
)
⇔
F
(
u
,
v
)
×
H
(
u
,
v
)
f(x, y) \otimes h(x, y) \Leftrightarrow F(u, v) \times H(u, v)
f(x,y)⊗h(x,y)⇔F(u,v)×H(u,v)
空间域卷积对应频域乘积
空间域乘积对应频域卷积
- 相关性质
图像相关性运算可用于感兴趣区域匹配
- 分离性质
2.3.3图像滤波器
频域滤波原理
g ( x , y ) = f ( x , y ) ⨂ h ( x , y ) g(x,y)=f(x,y)\bigotimes h(x,y) g(x,y)=f(x,y)⨂h(x,y)
G ( u , v ) = H ( u , v ) × F ( u , v ) G(u,v)=H(u,v)\times F(u,v) G(u,v)=H(u,v)×F(u,v)
通过滤系统“修正”输入图像频率成分从而达到图像增强目的
f ( x , y ) f(x,y) f(x,y)–>FFT–> H ( u , v ) H(u,v) H(u,v)–>IFFT–>g(x,y)
低通滤波器
- 理想滤波器
- 高斯低通滤波器(无振铃现象)
- Butterworth低通滤波器(平滑效果好)
“振铃现象”
H ( u , v ) H(u,v) H(u,v)
应用:文本图像中字符失真、断裂修复;有栅格影响图像
高通滤波器
高频成分通过,去除(衰减)低频成分
图像中边缘等被增强
- 理想滤波器
- 高斯高通滤波器(平滑效果好,无振铃现象)
- Butterworth高通滤波器
同态滤波
3.1形态学处理
图像数学形态学处理
–以形态为基础对图像进行分析数学工具
–用具有一定形态的结构元素
–度量和提取图像中的对应形状
–达到对图像分析和识别的目的
集合论
–研究集合的结构、运算及性质的一个数学分支
–研究对象是由平面(或空间)上一些点组成的集,称为“点集”
–点集可以是某些孤立的点,或是某曲线上或某区域内的所有点
集合平移/反射
数学形态学处理
- 膨胀
–将与物体接触所有背景点合并到该物体中
–使边界向外部扩张的过程
–可以用来填补物体中的空洞
- 腐蚀
–一种消除边界点
–使边界向内部收缩的过程
–用来消除小且无意义的物体
- 开运算(先腐蚀再膨胀)
–用来消除小物体、在纤细处分离物体
–平滑较大物体的边界同时并不明显改变其面积
- 闭运算(先膨胀后腐蚀)
–用来填充物体内细小的空洞
–连接邻近物体
–平滑其边界的同时并不明显改变其面积
4.1图像分割
- 为什么要进行图像分割?
– 只对图像中的部分区域感兴趣:目标或前景
– 为了辨识和分析目标,需要对其提取或分割
- 什么是图像分割
– 将图像划分为若干互不相交的小区域
–区域:具有共同属性的像素的连通合集
–属性:灰度、颜色、纹理、同一个模式
- 方法
–基于阈值的分割方法
–基于边缘的分割方法
–基于区域的分割方法
–基于学习的分割方法
4.1.1基于阈值的图像分割
- 阈值选取
- 直方图技术
- 最小误差阈值选取
- 最大方差阈值选取(算法可操作性强)
4.1.2基于边缘的图像分割
- 点检测(模版)
- 线检测(模版)
图像边缘
–图像中一组相连的像素集合
–这些像素位于两个区域边界
边缘提取
–一阶或二阶导数
–图像高通滤波器
问题:边界点不连续
–需要连接边界点
–以构成完整的边界图形描述
对于边界上的n个点的点集,求共线的点集以及直线方程–霍夫变换
4.1.2基于边缘的图像分割
- 利用图像像素的空间性质,分裂出具有相似性质属于同一个区域像素
– 对每个需要分割的区域找一个种子像素作为生长的起点
–判断种子像素周围邻域中与种子像素是否具有相似性质
–若具有相似性质,则将该像素合并到种子像素所在的区域
–将这些新像素当作新的种子像素继续进行上面的过程
–直到再没有满足条件的像素可被包括进来
– 把图像分成任意大小且不重叠的区域
–再合并或分裂这些区域以满足分裂要求
–一致性测度
基本概念
将区域R划分为若干字区域R1,R2,…Rn, 区域满足5个条件
- 完备性
- 连通性
- 独立性
- 单一性
- 互斥性
5.特征检测
5.1 应用场景
- 图像搜索,以图搜图
- 拼图游戏
- 图像拼接,将两长有关联的图拼接到一起
5.2 拼图方法
- 寻找特征
平坦部分很难找到它在原图中的位置
边缘相比平坦要好找一些,但也不能一下确定
角点可以一下就能找到其在原图的位置
角点
- 在特征中最重要的是角点
- 灰度梯度的最大值对应的像素
- 两条线的交点
- 极值点
Harris角点
- 光滑地区,无论向哪里移动,衡量系数不变
- 边缘地址,垂直边缘移动时,衡量系数变化剧烈
- 在角点处,往哪个方向移动,衡量系数都变化剧烈
- 特征是唯一的
- 可追踪的
- 能比较的
FAST
可以做到特征点的实时检测
BRIEF
对已检测到的特征点进行描述,它加快了特征描述符建立的速度,同时也极大的降低了特征匹配的时间
5.3 特征匹配
- 暴力特征匹配
它使用第一组中的每个特征的描述子与第二组中的所有特征描述子进行匹配,计算它们之间的差距,然后将最接近一个匹配返回
- 创建匹配器
- 进行特征匹配
- 绘制匹配点
- FLANN
在进行批量特征匹配时,FLANN速度更快,由于它使用的是邻近近似值,所以精度较差
- 创建FLANN匹配器
- 进行特征匹配
- 绘制匹配点
- 图像查找
5.4 图像拼接
- 读文件并重置尺寸
- 根据特征点和计算描述子,得到单应性矩阵
- 图像变换
- 图像拼接并输出图像
5.4 图像分割
将前景物体从背景中分离出来
- 传统的图像分割方法
-
分水岭法
-
标记背景
-
标记前景
-
标记未知域
-
进行分割
-
-
GrabCut法
-
Meanshift法
-
背景扣除
- 基于深度学习的图像分割方法