原始图像—— f ( x , y ) f(x,y) f(x,y)
灰度阈值——T
阈值运算得到二值图像—— g ( x , y ) g(x,y) g(x,y)
g ( x , y ) = { 1 , if f(x,y) ≥ T 0 , if f(x,y) < T g(x,y)= \begin{cases} 1, & \text{if f(x,y) $\geq$ T} \\ 0, & \text{if f(x,y) < T} \end{cases} g(x,y)={1,0,if f(x,y) ≥ Tif f(x,y) < T
阈值的选择包括人工阈值
人工选择法是通过人眼的观察,应用人对图像的知识,在分析图像直方图的基础上,人工选出合适的阔值。也可以在人工选出阈值后,根据分割效果,不断的交互操作,从而选择出最佳的阈值。
若直方图呈现多个明显的峰值,如三个峰值,取两个峰谷出的灰度值T1,T2作为阈值,同样,可以将阈值化后的图像编程二值化图像。
基本思想:选择一个阈值作为初始值,按某种策略不断地迭代改进,直到满足给定的准则。自动输出一个阈值。在迭代过程中,关键是阈值改进策略,阈值改进策略要求:快速收敛,新产生阈值优于上一次的阈值。
步骤
选择图像灰度的中值作为初始阈值 T i = T 0 T_i=T_0 Ti=T0
利用阈值把图像分割成两部分区域, R 1 R_1 R1和 R 2 R_2 R2,并计算其灰度均值
u 1 = ∑ i = 0 T i i n i ∑ i = 0 T i n i , u 2 = ∑ i = T i L − 1 i n i ∑ i = T i L − 1 n i u_1=\frac{\sum_{i=0}^{T_i} in_i}{\sum_{i=0}^{T_i} n_i} \quad , \quad u_2=\frac{\sum_{i=T_i}^{L-1} in_i}{\sum_{i=T_i}^{L-1} n_i} u1=∑i=0Tini∑i=0Tiini,u2=∑i=TiL−1ni∑i=TiL−1ini
计算新的阈值 T i + 1 T_{i+1} Ti+1
T i + 1 = 1 2 ( u 1 + u 2 ) T_{i+1}=\frac{1}{2}(u_1+u_2) Ti+1=21(u1+u2)
重复步骤2,3直到 T i + 1 T_{i+1} Ti+1和 T i T_{i} Ti的阈值差别小于某个给定值。
这样做的目的就是找到一个T,使得 u 1 = u 2 u1=u2 u1=u2
图像边缘是图像局部特性不连续性(灰度突变、颜色突变等)的反映,它标志着一个区域的终结和另一个区域的开始。二值图像的轮廓提取采用掏空内部点法:如果原图中有一点为黑,且它的8个相邻点皆为黑,则将该点删除。对于非二值图像,要先进行二值化处理。
从图像中一个边界点出发,然后根据某种判别准则搜索下一个边界点,一次搜索出目标边界。
阈值分割法:很少考虑空间关系,使多阈值选择受到限制。
区域分割法:弥补这点不足,利用空间性质,认为属于同一区域的像素应具有相似性。
传统的区域分割算法有:区域增长法和区域分裂合并法。该类方法在先验知识不足的图像进行分割,有较好的性能。但是,空间和时间开销比较大。
利用金字塔或四叉树数据结构的层次概念,将图像划分成一组任意不相交的初始区域即从金字塔或四叉树数据结构的任一中间层开始,根据给定的均匀性检测准则进行分裂和合并这些区域,逐步改善区域划分的性能,直至最后将图像分成数量最少的均匀区域为止。