图像阈值分割
声明:本文为3D视觉开发者社区三维视觉原理与实践学习的笔记文件,仅供个人学习复习,详情可以观看官网视频:https://developer.orbbec.com.cn/v/lecture?tid=26
0 背景介绍
图像分割是一个经典的图像处理问题,是图像理解和识别的基础,在模式识别、计算机视觉、医学图像处理等领域中有着广泛的应用。其主要目的是将感兴趣目标从复杂背景区域中提取出来,以便进行目标识别和分析。
阈值分割技术是一种非常重要的图像分割技术,它以其简单、有效、便于理解的特性而得到了广泛的研究与应用。
1 图像二值化
当背景和前景的灰度分布差异很明显时,可以用单个阈值处理幅图像。
在大多数应用中,通常图像之间存在较大的变化,即使可以应用全局阈值方法,也需要对每幅图像自动估计出一个合适的阈值。
1.1 自动阈值算法
步骤:
(1)为全局阈值选择一个初始值T:
(2)用阈值T对图像进行分割,将图像分为2组像素:G1由灰度值大于T
的所有像素组成,G2由所有小于等于T的像素组成。
(3)对G1和G2分别计算平均灰度值m1和m2。
(4)计算一个新的阈值:T=(m1+m2)/2
(5)重复步骤2~4,直到相邻2次的T值之差小于预定的参数△T为止。
适用场景:当物体和背景的直方图之间存在一个相当清晰的波谷时,这个简单的算法工作得很好。下图直方图两个峰值之间有清晰的波谷。
1.2 Otsu最佳阈值处理(最大类间差方法)
Otsu算法,也叫最大类间方差法,是1979年由日本学者大津提出的(所以也叫大津法),是一种自适应阈值确定的方法,是一种全局的二值化算法。
它是根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳阈值时,两部分之间的差别应该是最大的。在Otsu算法中所采用的衡量差别的标准就是较为常见的最大类间方差。前景和背景之间的类间方差如果越大,就说明构成图像的两个部分之间的差别越大。
当部分目标被错分为背景或部分背景被错分为目标,都会导致两部分差别变小。
当所取阈值的分割使类间方差最大时,就意味着错分概率最小。
算法原理:
假设一幅尺寸为xW的图像中有1个不同的灰度级{0,1,2,…,L-1},ni
表示灰度级为i的像素个数,pi
表示归一化的直方图的分量
选择一个阈值T=k(0<k<L-1),用它把图像阈值化为两类:C1(灰度值在区间[0,k])和C2(灰度值在区间[k+1,L-1])
上式中,P(i|C1)
表示在C1
类中像素值取到i
的概率;在i条件下发生C1的概率:P(C1|i)为1,因为此时i属于C1。
贝叶斯公式:
Otsu最佳阈值处理(最大类间方差法)
全局方差和类间方差:
类间方差还可以写成:
类间方差的物理意义:
最大化类间方差,一方面可以使上式中m1-m2
的值越大,表明两类灰度分布相差越大;另一方面可以使P1P2
得乘积变大,P1P2
关系如下图所示,二者乘积最大,即P1
尽量接近0.5,此时C1
和C2
具有相同数量的像素点。整体意义:两个类的差异很大,同时两类的像素点数量基本相同
为了寻找最佳阈值k*
,对k
的所有整数值[0,255],计算类间方差,选取使得类间方差最大的k值最为最佳阈值。
为了评价阈值k
的质量,采用一个归一化的无量纲测度:
步骤:
例子:
用图像平滑改善全局阈值分割
上图第一行,直方图无明显波谷,则无法完成分割;第二行图片,直方图有明显的波谷,可以完成有效的分割。
用图像平滑改善全局阈值分割失败案例:
分析:大津法原理里面有P1P2的乘积,在面积比较接近的情况下,可以取得比较好的效果;下面图片的情况下,P1的值为非常小的数值,不适合用大津法进行自动阈值分析,
1.3 多阈值处理
二值化将图像分为前景、背景两类,大津法也可以扩展到多个类别,下面以三个类别为例描述扩展原理,多阈值处理主要考虑三个类别的情况:
(1)三个类别的类间方差定义:
上述公式中,mG表示全局灰度均值,
(2)找到最优的k1和k2:
两个最有阈值,将图像分为三个类别,计算所有k1k2组合计算最大类间方差,
例子:冰山图像分割
1.4 区域生长的图像分割算法
步骤:
(1)种子点选取;(2)生长条件;(3)生长停止条件。