图像增强及灰度变换
图像增强:关心有用部分,抑制次要部分,去干扰,增强对比度。
复原技术:针对降质原因,设法补偿降质因素,尽可能逼近原始图像,恢复原图。
图像增强 | ||||||||
空间域 | 频率域 | |||||||
灰度变换 | 空域滤波 | 高通滤波 | 低通滤波 | 带通、带阻滤波 | ||||
直接灰度变换 | 直方图修正法 | 图像的代数运算 | 图像平滑 | 图像锐化 | ||||
直方图均衡化 | 直方图规定化 |
点运算
点运算:是一种像素的逐点运算。描述了输入和输出值之间的转换关系。不改变空间位置关系。点运算又称为“对比度增强”、“对比度拉伸”、“灰度变换”。
g
(
x
,
y
)
=
T
[
f
(
x
,
y
)
]
g(x, y) = T[f(x, y)]
g(x,y)=T[f(x,y)]。
线性变换:
g
(
x
,
y
)
=
T
[
f
(
x
,
y
)
]
=
a
∗
f
(
x
,
y
)
+
b
g(x, y) = T[f(x, y)]=a*f(x,y)+b
g(x,y)=T[f(x,y)]=a∗f(x,y)+b,
- 如果a>1,图像对比度增加,反之减少。
- a = 1 , b ≠ 0 a=1,b\neq0 a=1,b=0,则整个图像变暗或变亮。
- a = 1 , b = 0 a=1,b=0 a=1,b=0,则整个图像不变。
- 若 a < 0 a < 0 a<0,则亮区变暗,暗区变亮。
反转变换:
g
(
x
,
y
)
=
255
−
f
(
x
,
y
)
g(x, y) = 255 - f(x, y)
g(x,y)=255−f(x,y)
灰度对数变换:
g
(
x
,
y
)
=
c
log
(
1
+
f
(
x
,
y
)
)
g(x, y) = c\log{(1 + f(x,y))}
g(x,y)=clog(1+f(x,y)),对比较暗的区域,变亮,高亮的区域变暗。
幂次变换:
g
(
x
,
y
)
=
c
∗
f
(
x
,
y
)
λ
g(x,y)=c*f(x,y)^\lambda
g(x,y)=c∗f(x,y)λ,根据拉伸或压缩的需要,选择不同的
λ
\lambda
λ和
c
c
c值。
分段线性变换:
- 对比度拉伸
- g ( x , y ) = { c a f ( x , y ) if 0 ≤ f ( x , y ) < a d − c b − a [ f ( x , y ) − a ] + c if a ≤ f ( x , y ) < b M g − d M f − b [ f ( x , y ) − b ] + d if b ≤ f ( x , y ) < M f g(x,y)=\begin{cases} \frac{c}{a}f(x,y) &\text{ if }0\le f(x,y)<a\\ \frac{d-c}{b-a}[f(x,y)-a]+c &\text{ if }a\le f(x,y)<b\\ \frac{M_g-d}{M_f-b}[f(x,y)-b]+d &\text{ if }b\le f(x,y)<M_f\\ \end{cases} g(x,y)=⎩ ⎨ ⎧acf(x,y)b−ad−c[f(x,y)−a]+cMf−bMg−d[f(x,y)−b]+d if 0≤f(x,y)<a if a≤f(x,y)<b if b≤f(x,y)<Mf
- 灰度切分
直方图处理
灰度范围[0, L-1]的图像直方图是
h
(
r
k
)
=
n
k
h(r_k)=n_k
h(rk)=nk,其中
r
k
r_k
rk是第
k
k
k级灰度值,
n
k
n_k
nk是灰度为
r
k
r_k
rk的像素个数。
直方图性质:(1)缺失位置信息。(2)图像与直方图是多对一映射关系,特定图像有唯一直方图,反之不然。(3) 图像各子区直方图相加是全图的直方图。
归一化处理:
P
(
r
k
)
=
n
k
n
0
≤
r
k
≤
1
P(r_k)=\frac{n_k}{n} 0\le r_k \le 1
P(rk)=nnk0≤rk≤1,n为像素总数,
r
k
r_k
rk为r/(L-1)。
直方图均衡化
s = T ( r ) , 0 ≤ r ≤ L − 1 s=T(r),0\le r\le L-1 s=T(r),0≤r≤L−1,其中s表示变换后灰度,r表示原图灰度。 T ( r ) T(r) T(r)应满足
- 在 0 ≤ r ≤ L − 1 0\le r \le L-1 0≤r≤L−1区间内, T ( r ) T(r) T(r)单值单调增加;
- 对于 0 ≤ r ≤ L − 1 0\le r \le L-1 0≤r≤L−1,有 0 ≤ T ( r ) ≤ L − 1 0\le T(r)\le L-1 0≤T(r)≤L−1。
归一化后:
- 在 0 ≤ r ≤ 1 0\le r \le 1 0≤r≤1区间内, T ( r ) T(r) T(r)单值单调增加;
- 对于 0 ≤ r ≤ 1 0\le r \le1 0≤r≤1,有 0 ≤ T ( r ) ≤ 1 0\le T(r)\le1 0≤T(r)≤1。
若使用
r
=
T
−
1
(
S
)
r=T^{-1}(S)
r=T−1(S),则应当把(1)更正为:在
0
≤
r
≤
1
0\le r \le 1
0≤r≤1区间内,
T
(
r
)
T(r)
T(r)单值严格单调增加;
p
(
y
)
=
p
(
x
)
∣
d
x
d
y
∣
p(y)=p(x)|\frac{dx}{dy}|
p(y)=p(x)∣dydx∣,
p
s
(
s
)
=
p
r
(
r
)
∣
d
r
d
s
∣
r
=
T
−
1
(
s
)
p_s(s)=p_r(r)|\frac{dr}{ds}|_{r=T^{-1}(s)}
ps(s)=pr(r)∣dsdr∣r=T−1(s)
一个重要变换
s = T ( r ) = ( L − 1 ) ∫ 0 r P r ( w ) d w s=T(r)=(L-1)\int_0^r P_r(w)dw s=T(r)=(L−1)∫0rPr(w)dw,归一化后: s = T ( r ) = ∫ 0 r P r ( w ) d w s=T(r)=\int_0^r P_r(w)dw s=T(r)=∫0rPr(w)dw。满足上面两个条件。
两个重要概念:
- 直方图均衡化是用累积分布函数作为变换函数对直方图进行修正的处理方法。
- 用累积分布函数作为变换函数,可以产生一幅灰度级分布具有均匀概率密度的图像。
P s ( s ) = P r ( r ) ∣ d r d s ∣ = P r ( r ) ∗ ∣ 1 P r ( r ) ∣ = 1 P_s(s)=P_r(r)|\frac{dr}{ds}|=P_r(r)*|\frac{1}{P_r(r)}|=1 Ps(s)=Pr(r)∣dsdr∣=Pr(r)∗∣Pr(r)1∣=1
直方图匹配(规定化)
使 P r ( r ) → P z ( z ) P_r(r)\to P_z(z) Pr(r)→Pz(z)。
- 对 P r P_r Pr均衡化 s = T ( r ) = ∫ 0 r P r ( w ) d w s=T(r)=\int_0^{r}P_r(w)dw s=T(r)=∫0rPr(w)dw
- 对 P z P_z Pz均衡化 v = G ( z ) = ∫ 0 z P z ( w ) d w v=G(z)=\int_0^{z}P_z(w)dw v=G(z)=∫0zPz(w)dw
- 由于 p s ( s ) = 1 = p v ( v ) , v = s p_s(s)=1=p_v(v),v=s ps(s)=1=pv(v),v=s,故, z = G − 1 ( s ) = G − 1 ( T ( r ) ) z=G^{-1}(s)=G^{-1}(T(r)) z=G−1(s)=G−1(T(r)):对于离散情况求 G − 1 G^{-1} G−1,就是看s,v谁离得近。例如: s 0 = 0.18 s_0=0.18 s0=0.18与它最接近的是 v = G − 1 ( z 3 ) = 0.179 v=G^{-1}(z_3)=0.179 v=G−1(z3)=0.179,所以可写成 G − 1 ( s 0 ) = G − 1 ( 0.18 ) = z 3 G^{-1}(s_0)=G^{-1}(0.18)=z_3 G−1(s0)=G−1(0.18)=z3。用这样方法可得到变换值。
局部增强
- 定义一个矩形或方形的邻域(块),在局部块中计算直方图;
说明:基于局部的灰度分布来构造转换函数 - 利用直方图均衡化和直方图匹配的方法生成变换函数,对局部块中的每一个像素进行灰度级映射
- 将块的中心移至临近像素,重复上述操作。