概述
分割的依据
- 基于灰度的不连续性,以灰度的突变为基础分割一幅图像,比如图像的边缘
- 基于灰度的相似性,将图像分割为相似的区域,如区域生长,区域聚合等
概念
- 全局阈值处理:当T(阈值)是一个适用于整图的常数时
- 可变阈值处理:当T在一幅图像上可以政变时
- 局部阈值处理:任何点处的阈值取决于其邻域的特性(如邻域的平均灰度)
- 动态阈值处理:如果T取决于空间坐标(x,y)本身。 也称为自适应阈值处理
影响阈值分割的因素
- 波峰间的间隔(波峰离得越远,分割这些模式越好)
- 图像中的噪声内容(有噪声的话,可能形不成明显的波峰,难以确定T)
- 物体和背景的相对尺寸
- 光源的均匀性
- 图像反射特性的均匀性
单阈值分割
选定一个阈值,如果图像某个点的灰度值高于阈值,则置1,否则置0,可以将图像分割成前景和背景
双阈值分割
选定两个阈值,根据图像某个点的灰度值与两个阈值的对比关系,确定输出值
全局阈值分割
概述
当背景和物体像素灰度分布十分明显的时候,同城情况下图像的背景和物体的差别较大,可以适用全阈值处理
基本全阈值分割
Otsu最佳全阈值分割
技巧
- 在用阈值分割之前首先平滑输入图像
- 利用边缘改进阈值处理
- 因为如果直方图的波峰是高、窄、对称的,且被较深的波谷分开,则选取一个阈值的机会是相当大的
- 仅选取边缘较明显的像素统计直方图,这样可以有效的将波峰拉开
区域阈值分割
区域生长
原理
- 根据事先定义的准则将像素或者子区域聚合层更大区域的过程
- 从一组生长点开始(可以是单个像素也可以是某个小区域),将与该生长点性质相似的相邻像素或者区域与生长点合并,形成新的生长点,重复此步骤知道不能生长为止
步骤
- 选择合适的种子点
- 确定相似性准则
- 确定生长停止条件
区域分裂与聚合
区域分裂原理
- 选择一个分裂条件Q,如果区域不满足Q,则将区域分裂层四个象限区域
- 从整图开始持续分裂,直到所有区域都满足Q为止
- 通常需要先定一个不能再进一步分裂的最小四象限区域的尺寸
聚合原理
- 对于2个相邻的区域,仅当两个区域的并集满足条件Q时才合并
- (小区域满足Q,不见得2个满足Q的小区域合并之后同样满足Q)
- 当无法进一步聚合时,停止操作
分水岭分割算法
原理
先选择好“种子点”,也就是注水点,然后往里面注水,等水涨起来了,自然形成一个个将水坑分开的领,这就是分水岭算法
步骤
- 构建图像梯度算法(用Canny或拉普拉斯均可)
- 通过一定规则生成n个最初的注水区域(局部梯度最小值或自己确定的先验知识)
- 往注水区域内加水,当两注水区域即将合并时,记录下此时的边界。
- 当图像边缘彻底被分割成n个独立区域,算法结束
如何构建水坝
- 通过形态学膨胀构造水坝
- 如果膨胀了某个点会将两个区域联通,则这两个点不能膨胀(水坝点)
分水岭算法的应用范围
- 从背景中提取近乎一致的物体效果最好
- 由变化较小的灰度表征的区域有较小的灰度值,因此我们用原始图像的梯度图像来作为分水岭算法的输入
参考资料
https://www.bilibili.com/video/BV19F411T7fD(本系列文章就是根据链接里的教程进行整理)