引自:百度百科 https://baike.baidu.com/item/Sobel%E7%AE%97%E5%AD%90/11000092?fr=aladdin
Sobel算子:
Sobel算子是像素图像边缘检测中最重要的算子之一,在机器学习、数字媒体、计算机视觉等信息科技领域起着举足轻重的作用。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
核心公式:
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:
图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小:
可用以下公式计算梯度方向:
在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
描述
在边缘检测中,常用的一种模板是Sobel 算子。
Sobel 算子:
Sobel 算子有两个:
- 一个是检测水平边缘的
- 另一个是检测垂直边缘的 。
与Prewitt算子相比,Sobel算子对于像素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。
各向同性Sobel(Isotropic Sobel)算子
Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,
- 一个是检测水平边缘的
- 另一个是检测垂直边缘的 。
构成: 将Sobel算子矩阵中的所有2改为根号2,就能得到各向同性Sobel的矩阵。
优点
由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。
缺点:
Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。
阈值化轮廓提取算法
在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,有阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。