常用于边缘检测,在粗精度下,是最常用的边缘检测算子。
sobel算子是由两个3x3的卷积核构成,分别用于计算中心像素邻域的灰度加权差。
分为垂直和水平方向的sobel滤波器GX and Gy
sobel卷子因子为:
该算子包含两组3x3的矩阵,代表水平和垂直两个方向,将之与图像平面卷积,即可分别得出水平和垂直的亮度差分近似值。
A为原始图像,Gx,Gy分别代表水平和垂直
sobel算子的主要用途:
边缘检测时:Gx用于检测纵向边缘,Gy用于检测横向边缘
计算法线时:Gx用于计算法线的横向偏移, Gy用于计算法线的纵向偏移
sobel算子应用时进行给定图像的卷积操作,卷积为计算图像大矩阵周围像素和滤波器矩阵对应位置元素的乘积, 然后把结果相加到一起, 最终得到的值就作为该像素的新值, 这样就完成了一次
卷积,之后继续移动卷积核,直到把大矩阵每个位置都运算完毕,因为相邻像素卷积结果一般具有相似输出,会产生大量冗余信息,一般为减少输出值会进行求取最大小值或者平均值的池化操作。
经sobel算子处理的图像(图像来源于网路,侵删)
值得注意的是,一般卷积操作会伴随卷积核的翻转,而sobel却不需要翻转,因为绕中心点旋转180°,并不影响结果。