概述

分割的依据

  • 基于灰度的不连续性,以灰度的突变为基础分割一幅图像,比如图像的边缘
  • 基于灰度的相似性,将图像分割为相似的区域,如区域生长,区域聚合等

概念

  • 全局阈值处理:当T(阈值)是一个适用于整图的常数时
  • 可变阈值处理:当T在一幅图像上可以政变时
  • 局部阈值处理:任何点处的阈值取决于其邻域的特性(如邻域的平均灰度)
  • 动态阈值处理:如果T取决于空间坐标(x,y)本身。 也称为自适应阈值处理

影响阈值分割的因素

  • 波峰间的间隔(波峰离得越远,分割这些模式越好)
  • 图像中的噪声内容(有噪声的话,可能形不成明显的波峰,难以确定T)
  • 物体和背景的相对尺寸
  • 光源的均匀性
  • 图像反射特性的均匀性

单阈值分割

image-20220515130022822

选定一个阈值,如果图像某个点的灰度值高于阈值,则置1,否则置0,可以将图像分割成前景和背景

双阈值分割

image-20220515134209666

选定两个阈值,根据图像某个点的灰度值与两个阈值的对比关系,确定输出值

全局阈值分割

概述

当背景和物体像素灰度分布十分明显的时候,同城情况下图像的背景和物体的差别较大,可以适用全阈值处理

基本全阈值分割

image-20220515140848947

Otsu最佳全阈值分割

image-20220515141016757

image-20220515142055921

技巧

  • 在用阈值分割之前首先平滑输入图像
  • 利用边缘改进阈值处理
    • 因为如果直方图的波峰是高、窄、对称的,且被较深的波谷分开,则选取一个阈值的机会是相当大的
    • image-20220515142645633
    • 仅选取边缘较明显的像素统计直方图,这样可以有效的将波峰拉开

区域阈值分割

区域生长

原理
  • 根据事先定义的准则将像素或者子区域聚合层更大区域的过程
  • 从一组生长点开始(可以是单个像素也可以是某个小区域),将与该生长点性质相似的相邻像素或者区域与生长点合并,形成新的生长点,重复此步骤知道不能生长为止
步骤
  • 选择合适的种子点
  • 确定相似性准则
  • 确定生长停止条件

区域分裂与聚合

区域分裂原理
  • 选择一个分裂条件Q,如果区域不满足Q,则将区域分裂层四个象限区域
  • 从整图开始持续分裂,直到所有区域都满足Q为止
  • 通常需要先定一个不能再进一步分裂的最小四象限区域的尺寸
聚合原理
  • 对于2个相邻的区域,仅当两个区域的并集满足条件Q时才合并
  • (小区域满足Q,不见得2个满足Q的小区域合并之后同样满足Q)
  • 当无法进一步聚合时,停止操作

分水岭分割算法

原理

先选择好“种子点”,也就是注水点,然后往里面注水,等水涨起来了,自然形成一个个将水坑分开的领,这就是分水岭算法

步骤

  • 构建图像梯度算法(用Canny或拉普拉斯均可)
  • 通过一定规则生成n个最初的注水区域(局部梯度最小值或自己确定的先验知识)
  • 往注水区域内加水,当两注水区域即将合并时,记录下此时的边界。
  • 当图像边缘彻底被分割成n个独立区域,算法结束

如何构建水坝

  • 通过形态学膨胀构造水坝
  • 如果膨胀了某个点会将两个区域联通,则这两个点不能膨胀(水坝点)

分水岭算法的应用范围

  • 从背景中提取近乎一致的物体效果最好
  • 由变化较小的灰度表征的区域有较小的灰度值,因此我们用原始图像的梯度图像来作为分水岭算法的输入

参考资料

https://www.bilibili.com/video/BV19F411T7fD(本系列文章就是根据链接里的教程进行整理)