直方图均衡化理解
直方图均衡化引入
如图,在第1,2,3张图中,当灰度值集中在某一块区域时,图像比较平淡即对比度低。而第4张图中,灰度值覆盖比较宽的范围,而且比较均匀的分布,其对比度高,细节丰富。将图像的灰度值进行函数变换偏向于均匀分布,大概率会提高图像的对比度和细节性。下图就是变换函数的目标。
怎么实现直方图均衡化
将分布在0-255之间的灰度值的个数类比为概率论中的概率密度相关内容进行计算。并且先考虑连续的灰度值方式进行计算,然后再推导离散的情况。
几个基础概念名词
链接: 如何通俗的理解概率密度.
概率:事件随机发生的几率
概率密度:落在某点的概率
累积概率密度:某些点的概率累积
现在开始推导公式啦:
上述第二张图中,已知原来的概率密度函数为
f
(
r
)
f(r)
f(r),累计概率密度函数为
F
r
(
R
)
=
P
{
R
⩽
r
}
=
∫
0
R
f
(
r
)
d
r
,
R
∈
(
0
,
L
−
1
)
F_{r}(R) =P\left \{ R\leqslant r \right \} = \int_{0 }^R{f(r)dr}, R\in(0,L-1)
Fr(R)=P{R⩽r}=∫0Rf(r)dr,R∈(0,L−1) 且
F
r
′
(
R
)
=
f
(
r
)
F_{r}^{'}(R) = f(r)
Fr′(R)=f(r)变换函数为
s
=
T
(
r
)
即
r
=
T
−
1
(
s
)
s = T(r) 即 r = T^{-1}(s)
s=T(r)即r=T−1(s)变换后的概率密度
f
(
s
)
=
1
L
−
1
f(s) = \frac{1}{L-1}
f(s)=L−11累积概率密度为
F
s
(
S
)
=
P
{
S
⩽
s
}
=
∫
0
S
f
(
s
)
d
s
=
S
L
−
1
,
S
∈
(
0
,
L
−
1
)
F_{s}(S) =P\left \{S\leqslant s \right \} = \int_{0 }^S{f(s)ds}= \frac{S}{L-1} , S\in(0,L-1)
Fs(S)=P{S⩽s}=∫0Sf(s)ds=L−1S,S∈(0,L−1)且
F
s
′
(
S
)
=
f
(
s
)
F_{s}^{'}(S) = f(s)
Fs′(S)=f(s)推导:
F
s
(
S
)
=
P
{
S
⩽
s
}
=
P
{
T
(
r
)
⩽
s
}
=
P
{
r
⩽
T
−
1
(
s
)
}
=
F
r
(
T
−
1
(
s
)
)
F_{s}(S) =P\left \{S\leqslant s \right \} =P\left \{T(r)\leqslant s \right \} = P\left \{r\leqslant T^{-1}(s) \right \} = F_{r}(T^{-1}(s) )
Fs(S)=P{S⩽s}=P{T(r)⩽s}=P{r⩽T−1(s)}=Fr(T−1(s)) 即
F
s
′
(
S
)
=
f
(
s
)
=
F
r
′
(
T
−
1
(
s
)
)
=
d
(
F
r
(
T
−
1
(
s
)
)
)
d
s
=
f
(
T
−
1
(
s
)
)
d
(
T
−
1
(
s
)
)
d
s
F_{s}^{'}(S) =f(s)= F_{r}^{'}(T^{-1}(s)) = \frac{d(F_{r}(T^{-1}(s)))}{ds} = f(T^{-1}(s)) \frac{d(T^{-1}(s))}{ds}
Fs′(S)=f(s)=Fr′(T−1(s))=dsd(Fr(T−1(s)))=f(T−1(s))dsd(T−1(s)) 有
r
=
T
−
1
(
s
)
r = T^{-1}(s)
r=T−1(s)则
f
(
s
)
=
f
(
r
)
d
r
d
s
=
1
L
−
1
f(s)= f(r) \frac{dr}{ds} = \frac{1}{L-1}
f(s)=f(r)dsdr=L−11有
d
s
=
(
L
−
1
)
f
(
r
)
d
r
ds= (L-1)f(r)dr
ds=(L−1)f(r)dr对两边做积分有
s
=
T
(
r
)
=
∫
0
r
(
L
−
1
)
f
(
r
)
d
r
=
(
L
−
1
)
∫
0
r
f
(
r
)
d
r
s= T(r) = \int_{0 }^{r}(L-1)f(r)dr = (L-1)\int_{0}^{r}f(r)dr
s=T(r)=∫0r(L−1)f(r)dr=(L−1)∫0rf(r)dr
对应到离散灰度值上有
一幅图像中灰度级为
r
k
r_{k}
rk的概率为
P
r
=
n
k
M
N
,
k
=
0
,
1
,
2
,
⋯
,
L
−
1
P_{r}= \frac{n_{k}}{MN}, k = 0, 1, 2, \cdots , L-1
Pr=MNnk,k=0,1,2,⋯,L−1 其中MN为图像的总像素数,
n
k
n_{k}
nk为灰度值为
r
r
r_{r}
rr的像素数。
离散的公式为:
s
k
=
T
(
r
k
)
=
(
L
−
1
)
∑
k
j
=
0
P
r
(
r
j
)
=
L
−
1
M
N
∑
k
j
=
0
n
j
,
k
=
0
,
1
,
2
,
⋯
,
L
−
1
s_{k} =T(r_{k}) = (L-1)\sum_{k}^{j = 0}P_{r}(r_{j}) = \frac{L-1}{MN}\sum_{k}^{j = 0}n_{j},k = 0, 1, 2, \cdots , L-1
sk=T(rk)=(L−1)k∑j=0Pr(rj)=MNL−1k∑j=0nj,k=0,1,2,⋯,L−1以上为推导内容,如果错误还请指正。
具体的参考例子可以看看
链接: 具体的直方图均衡化实现.