图像二值化的概念
图像二值化是指将指将256阶的灰度图通过合适的阈值,转换为黑白二值图。即像素或0和255。其目的通常为将图像的前后景进行分割,使图像变得简单,数据量减小,能凸显出感兴趣的目标的轮廓。主要用于目标物体检测,目标跟踪、物体分离等领域
二值化的数学表达,对于图像中的像素[x,y],其灰度值为f(x,y), 设置门限值(阈值)为TH,则:
g
(
x
,
y
)
{
255
,
i
f
f
(
x
,
y
)
>
=
T
H
0
,
i
f
=
=
i
f
f
(
x
,
y
)
<
T
H
g(x,y) \begin{cases} 255, &if\ f(x,y) >=TH\\ 0, &if==if\ f(x,y) <TH \end{cases}
g(x,y){255,0,if f(x,y)>=THif==if f(x,y)<TH
图像二值化阈值选择算法
二值化的关键在于阈值的选择。合理的阈值应该尽可能的分离前景和背景,如何来确定阈值呢,有以下几种求阈值的方法
局部二值化法
全局二值化即使用单一阈值对画面中的所有像素进行分割。通常可以分割直方图具有双峰性的图像。前景和背景的分布有交错部分,表示部分前景和背景像素颜色相同。由于有交错部分存在,通过阈值将前后景完全分离是不可能的,只能寻找最优解
p-tile法
需要预先获得图像中前景占完整画面的比值P%,依次累积灰度直方图,直
到该累积值大于或等于前景图像(目标)所占面积,此时的灰度级即为所
求的阈值。
最小误判概率法
设前景像素点灰度概率密度函数为p(x),背景像素点灰度概率密度函数为q(x),分布函数如图。前景像素个数占图像总像素数的百分比为θ1,背景为θ2 =1- θ1
设分割阈值为T,前景像素被错分为背景的概率为
E
1
(
T
)
=
∫
T
∞
p
(
x
)
d
x
E1(T)=\int_T^\infty {p(x)dx}
E1(T)=∫T∞p(x)dx
背景像素被错分为前景的概率为:
E
2
(
T
)
=
∫
−
∞
T
q
(
x
)
d
x
E2(T)=\int_{-\infty}^T {q(x)dx}
E2(T)=∫−∞Tq(x)dx
阈值T造成的错误分割概率为:
E
(
T
)
=
θ
1
E
1
(
T
)
+
θ
2
E
2
(
T
)
E(T) = θ1E1(T)+θ2E2(T)
E(T)=θ1E1(T)+θ2E2(T)
即
E
(
T
)
=
θ
1
∫
T
∞
p
(
x
)
d
x
+
θ
2
∫
−
∞
T
q
(
x
)
d
x
E(T)=θ1\int_T^\infty {p(x)dx}+θ2\int_{-\infty}^T {q(x)dx}
E(T)=θ1∫T∞p(x)dx+θ2∫−∞Tq(x)dx
E(T)取得最小值时,其导数为0。
E
(
T
)
=
θ
1
∫
T
∞
p
(
x
)
d
x
+
θ
2
∫
−
∞
T
q
(
x
)
d
x
E(T)=θ1\int_T^\infty {p(x)dx}+θ2\int_{-\infty}^T {q(x)dx}
E(T)=θ1∫T∞p(x)dx+θ2∫−∞Tq(x)dx
θ
1
p
(
T
)
−
θ
2
q
(
T
)
=
0
θ1p(T)-θ2q(T)=0
θ1p(T)−θ2q(T)=0
σ
E
σ
T
=
θ
1
p
(
T
)
=
θ
2
q
(
T
)
\frac{{\sigma}E}{{\sigma}T} =θ1p(T)=θ2q(T)
σTσE=θ1p(T)=θ2q(T)
假设图像中前景和背景像素灰度都呈正态分布,均值和
方差分别为 μ1,
σ
1
2
{\sigma_{1}}^2
σ12,μ2,
σ
2
2
{\sigma_{2}}^2
σ22,所以有:
θ 2 ( μ 2 − T ) 2 2 σ 2 2 = θ 1 ( μ 1 − T ) 2 2 σ 1 2 {θ}_{2}{\frac{(\mu_{2}-{}T)^{2}}{2{\sigma}_{2}^{2}}}={θ}_{1}{\frac{(\mu_{1}-{}T)^{2}}{2{\sigma}_{1}^{2}}} θ22σ22(μ2−T)2=θ12σ12(μ1−T)2
为了便于计算,假设:
σ
1
2
=
σ
2
2
=
σ
2
{\sigma}_{1}^{2}={\sigma}_{2}^{2}={\sigma}^{2}
σ12=σ22=σ2
θ
2
=
θ
2
=
1
2
{θ}_{2}={θ}_{2}=\frac{1}{2}
θ2=θ2=21
最佳阈值公式:
θ
2
(
μ
2
−
T
)
2
2
σ
2
2
=
θ
1
(
μ
1
−
T
)
2
2
σ
1
2
{θ}_{2}{\frac{(\mu_{2}-{}T)^{2}}{2{\sigma}_{2}^{2}}}={θ}_{1}{\frac{(\mu_{1}-{}T)^{2}}{2{\sigma}_{1}^{2}}}
θ22σ22(μ2−T)2=θ12σ12(μ1−T)2
(
μ
2
−
T
)
2
2
σ
2
2
=
(
μ
1
−
T
)
2
2
σ
1
2
{\frac{(\mu_{2}-{}T)^{2}}{2{\sigma}_{2}^{2}}}={\frac{(\mu_{1}-{}T)^{2}}{2{\sigma}_{1}^{2}}}
2σ22(μ2−T)2=2σ12(μ1−T)2
T
=
μ
1
+
μ
2
2
T={\frac{\mu_{1}+\mu_{2}}{2}}
T=2μ1+μ2
最小误判概率法迭代法实现
- 选择阈值T 的初始估计值。(求图像的最大灰度值A,最小灰度值B,令
(A+B)/2为初始值。) - 用T分割图像,得到两组像素,即分割结果。G1由所有灰度值大于T 的像
素组成,G2由所有灰度值≤T 的像素组成。 - 对区域G1和G2中的所有像素计算平均灰度值μ1和μ2 。
- 计算新的阈值: T = μ 1 + μ 2 2 T={\frac{\mu_{1}+\mu_{2}}{2}} T=2μ1+μ2
- 重复步骤2到4,两次迭代所得的T值之差小于预设值,或者直接定义迭
代次数。