《A threshold selection method from gray-level histograms》是由日本学者大津于 1979 年发表在 IEEE TRANSACTIONS ON SYSTEMS 上的一篇论文。该论文提出了一种基于图像灰度直方图的阈值化方法,计算简单,且不受图像亮度和对比度的影响,被称为阈值分割领域的最佳算法之一。以下称 Otsu 法。
假设原始图像的最大灰度级为
L
L
L,第
i
i
i 级的像素数用
n
i
n_i
ni? 表示,那么原始图像的总像素数
N
N
N 计算如下:
N
=
n
1
+
n
2
+
.
.
.
+
n
i
+
.
.
.
+
n
L
(1)
{N=n_1+n_2+...+n_i+...+n_L} \tag{1}
N=n1?+n2?+...+ni?+...+nL?(1)
归一化直方图
p
i
p_i
pi? 表示如下:
p
i
=
n
i
/
N
,
p
i
≥
0
,
∑
i
=
1
L
p
i
=
1
(2)
{p_i=n_i/N},{\quad \quad} p_i \geq 0,{\sum_{i=1}^Lp_i=1} \tag{2}
pi?=ni?/N,pi?≥0,i=1∑L?pi?=1(2)
现假设通过
k
k
k 级阈值将直方图分为
C
0
C_0
C0? 和
C
1
C_1
C1? 两类(目标和背景),则
C
0
C_0
C0? 和
C
1
C_1
C1? 的累积概率、均值分别为:
ω
0
=
∑
i
=
1
k
p
i
(3)
\omega_0={\sum_{i=1}^{k}p_i} \tag{3}
ω0?=i=1∑k?pi?(3)
ω
1
=
∑
i
=
k
+
1
L
p
i
(4)
\omega_1={\sum_{i=k+1}^{L}p_i} \tag{4}
ω1?=i=k+1∑L?pi?(4)
μ
0
=
∑
i
=
1
k
i
p
i
/
ω
0
(5)
\mu_0={\sum_{i=1}^{k}ip_i/{\omega_0}} \tag{5}
μ0?=i=1∑k?ipi?/ω0?(5)
μ
1
=
∑
i
=
k
+
1
L
i
p
i
/
ω
1
(6)
\mu_1={\sum_{i=k+1}^{L}ip_i/{\omega_1}} \tag{6}
μ1?=i=k+1∑L?ipi?/ω1?(6)
故
k
k
k 级阈值下的类间方差
σ
B
\sigma_B
σB? 为:
σ
B
=
ω
0
ω
1
(
μ
1
?
μ
0
)
2
(7)
\sigma_B={\omega_0}{\omega_1}{\left({\mu_1}-{\mu_0}\right)}^2 \tag{7}
σB?=ω0?ω1?(μ1??μ0?)2(7)
最佳阈值
k
?
k^*
k? 计算如下:
σ
B
(
k
?
)
=
max
?
1
≤
k
<
L
σ
B
(
k
)
(8)
{\sigma_B\left(k^*\right)}={\max_{1{\leq}k<L}}{\sigma_B\left(k\right)} \tag{8}
σB?(k?)=1≤k<Lmax?σB?(k)(8)
值得注意的是,该方法非常容易拓展至多阈值的情形。
[1] Otsu N. A threshold selection method from gray-level histograms[J]. IEEE transactions on systems, man, and cybernetics, 1979, 9(1): 62-66.
代码。