目录
目录
1. 图像分割基础
依据:各个区域具有不同的特征(灰度、颜色、纹理),这些特征在同一区域内表现出一致性或相似性,而在不同区域之间表现出显著区别。
- 不连续性:基于特征(如灰度)的不连续变化分割图像,如边缘检测
- 相似性:根据指定的准则将图像分割为相似的区域,如阈值分割、区域增长
2. 基于边缘(非连续性分割)
💡 基于边缘检测的图像分割首先确定图像中的边缘像素,然后将它们连接在一起构成边界
💡 边缘特征有方向和幅度两个属性,沿边缘方向像素灰度值变化平缓或不发生变化,而垂直于边缘方向像素灰度值变化剧烈
💡 边缘检测算法可分为两类:一阶差分和二阶差分💡 灰度梯度指向边缘的垂直方向
💡 一种好的边缘检测算子具备以下三点:①低错误率:抑制噪声,边缘检测错误率低;②高定位性:标识出的边缘要与图像中的实际边缘尽可能接近;③最小响应:对同一边缘具有低的响应次数,最好只响应一次
- 一阶差分算子通过寻找图像一阶差分中最大值来检测边缘,将边缘定位在一阶差分最大的方向
- 二阶差分算子通过寻找图像二阶差分过零点来定位边缘,最常用的是拉普拉斯过零点
2.1 Roberts 交叉梯度算子
- Roberts算子利用一阶差分检测边缘,边缘定位精度较高,但抑制噪声能力较差,适用于陡峭边缘且信噪比高的图像
2.2 Prewitt 梯度算子
2.3 Sobel梯度算子
- Prewitt和Sobel算子是计算数字梯度时最常用的算子
- Prewitt模板比Sobel模板简单,但Sobel模板能够有效抑制噪声
- 对4领域采用带权方法计算差分,能进一步抑制噪声,但检测的边缘较宽
- Sobel与Prewitt算子等效于首先对图像进行加权平滑处理,然后再计算差分,因此,对噪声有一定的抑制能力,但检测出的边缘具有一定宽度,且不能形成闭合、连通的轮廓
2.4 拉普拉斯算子
二阶差分算子在图像分割中的主要作用
- 二阶差分在边缘处产生零交叉,其过零点可以确定边缘的位置
- 二阶差分的符号可以确定边缘像素在边缘暗的一边还是亮的一边
-
拉普拉斯算子是一个用于检测边缘的二阶微分算子。在拉普拉斯结果中,边缘并不处于最大值处,而是处于最大正值和最小负值之间的零值处,称为过零点、零交叉(Zero Crossing)。
-
定义数字形式的拉普拉斯的基本要求是,作用于中心像素的系数是一个负数,而且其周围像素的系数是正数,系数之和必为0
-
缺点:①对噪声敏感,对噪声有双倍加强作用;②幅值产生双边缘;③不能检测出边缘方向
-
应用:①利用二阶导数零交叉,确定边的位置;②检测一个像素是在边的亮的一边还是暗的一边;③不直接用于边的检测,通常只起辅助的角色;④对细线和孤立点检测效果较好
2.5 高斯拉普拉斯算子(LoG)
- 因为 LoG 的平滑性质能减少噪声的影响,所以当边缘模糊或噪声较大时,利用LoG检测过零点能提供较可靠的边缘位置,当然这种方法的计算复杂度比较大
- LoG算子克服了拉普拉斯算子抗噪能力差的弱点,并能产生闭合、连通的轮廓,但在抑制噪声的同时也模糊了边缘,从而造成弱边缘漏检。
2.6 高斯差分算子(DoG)
- 二阶差分算子,两个高斯函数之差的形式,降低计算复杂度
2.7 Canny算子
-
四个步骤:
-
高斯图像平滑
-
边缘检测:利用 Sobel 算子计算每一个像素 (x, y) 处的局部梯度幅度及其梯度方向
-
梯度幅度的非极大值抑制:追踪梯度幅度中所有脊的顶部,保留局部梯度极大值点,形成单像素宽度的边缘,这个过程称为非极大值抑制
-
双阈值法的边缘检测和连接:设置两个不同的阈值T1、T2,T1<T2 。梯度幅度大于 T2 的像素称为强边缘像素,梯度幅度在其间的像素称为弱边缘像素,将强边缘像素连接成轮廓,当到达间断点时,在低阈值图像的 8 邻域内寻找可以连接到强边缘的弱边缘像素,直至将强边缘连接起来为止。
-
- Canny算子可以形成闭合、连通且单像素宽度的边缘,但也会产生类似意大利式细面条盘子效应的虚假边缘。
3. 基于阈值(相似性分割)
基本原理:通过设定不同的阈值,将图像中的像素分为两类或者多类,具有计算简单、容易实现的优点。阈值的选取决定了阈值分割的效果,阈值法的关键是如何选择合适的阈值
3.1 基于全局阈值处理
3.2 OTSU(最大类间方差法)
3.2 自适应阈值分割
3.3 最大熵阈值分割
4. 基于区域(相似性分割)
5. 结合特定工具(小波变换、遗传算法)
6. 深度学习分割方法
参考来源: