原理
sobel算子是根据图像灰度值的突变或者结构信息的突变获取到边缘信息。
假设一个图片的像素矩阵为
从矩阵红框中可以看出像素值发生了突变,应该为边缘信息。怎么获取到这个边缘信息呢,这就需要用到sobel卷积因子。
GX用来获得横向的边缘信息,GY用开获得纵向的边缘信息。为什么卷积因子一边为正一边为负。如果图片的颜色一样或者无结构突变的信息那么像素值差别就会很少。假如IMG与GX进行卷积运算后红框左侧和右侧的值几乎全为0。只有红框中的信息保留了下来。
接下来我会对GY GX的由来进行解释,这里首先介绍三种距离,欧式距离,城市距离,棋盘距离。
1:欧氏距离是最直观的距离,D的平方=(x1-x2)(x1-x2)+(y1-y2)(y1-y2);
2.城市街区距离:D=|x1-x2|+|y1-y2|;
3.棋盘距离:D=MAX{|x1-x2|,|y1-y2|};
sobel算子采用了城市距离,相当于离中心像素点越远权重越低,越近越高,所以GY GX与中心像素点在对角线上的都为1,权重较低。