一、边缘检测
边缘检测的几种微分算子:
- 一阶微分算子:Roberts、Sobel、Prewitt
- 二阶微分算子:Laplacian、Log/Marr
- 非微分算子:Canny
一阶微分算子
1.Roberts: 没有经过图像平滑处理,图像噪声无法得到较好的抑制,但图像边缘定位精度较高。
2. Sobel:引入了类似局部平均的运算,对噪声有平滑作用,能很好的消除噪声的影响。与Prewitt比,Sobel对像素位置做了加权,可以降低边缘模糊程度。
3. Prewitt:去掉部分伪边缘,对噪声有平滑作用。
如何计算边缘幅值与方向呢?以Sobel为例,3*3 Sobel两个方向的算子在图像上滑动,模板与其覆盖的图像3*3区域的9个像素进行卷积,求和后得到此方向的边缘检测幅值。
边缘检测幅值
边缘检测方向
二阶微分算子
1. Laplacian
拉普拉斯算子数学公式:
2. Log/Marr边缘检测是先进行高斯滤波,再进行拉普拉斯算子进行检测,最后通过找过零点来确定边缘位置。
非微分算子:Canny
- 使用Canny算子的边缘检测过程如下:
- RGB图像转化为灰度图像;
- 对图像进行高斯滤波;
- 利用canny算子(图像四个方向:水平、垂直、对角)计算图像梯度,根据梯度计算图像边缘幅度;
- 非极大值抑制,得到真正的边缘->细化;
- 双阈值边缘提取;
- 结果二值化显示;
二、图像分割
传统图像分割算法
1. 基于阈值的分割方法
阈值法的基本思想是基于图像的灰度特征计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值作比较,最后将像素根据比较结果分到合适的类别中。因此,该方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。
阀值分割方法的优缺点:
- 计算简单,效率较高;
- 只考虑像素点灰度值本身的特征,一般不考虑空间特征,因此对噪声比较敏感,鲁棒性不高。
2. 基于区域的分割方法
基于区域的分割方法是以直接寻找区域为基础的分割技术,基于区域提取方法有两种基本形式:一种是区域生长,从单个像素出发,逐步合并以形成所需要的分割区域;另一种是从全局出发,逐步切割至所需的分割区域。
区域生长:区域生长是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,知道找不到符合条件的新像素为止。该方法的关键是选择合适的初始种子像素以及合理的生长准则。
区域生长算法需要解决的三个问题:
(1)选择或确定一组能正确代表所需区域的种子像素;
(2)确定在生长过程中能将相邻像素包括进来的准则;
(3)指定让生长过程停止的条件或规则。
区域分裂合并:区域生长是从某个或者某些像素点出发,最终得到整个区域&#