边缘是图像的基本特征,包含了用于图像识别的有用信息,在计算机视觉、图像分析和图像处理等应用中起着重要作用。
边缘检测,针对的是灰度图像,顾名思义,检测图像的边缘,是针对图像像素点的一种计算,目的是标识数字图像中灰度变化明显的点,图像的边缘检测,在保留了图像的重要结构信息的同时,剔除了可以认为不相关的信息,大幅度减少了数据量,便于图像的传输和处理。
边缘检查的方法大致可以分为两类:基于查找的一类,通过寻找图像一阶导数中最大值和最小值来检测边界,包括 Sobel
算法、
Roberts Cross
算法等;基于零穿越的一类,通过寻找图像二阶导数零穿越来寻找边界,包括 Canny
算法,
Laplacian
算法等。
Sobel 边缘检测算法比较简单,虽然准确度较低,但在实际应用中效率较高,在很多实际应用场合,Sobel
算法却是首选,尤其是对效率要求较高,对纹理不太关心的时候。
Soble
算法的核心就是
Sobel
算子,该算子包含两组
3x3
的矩阵,如图 1
![](https://img-blog.csdnimg.cn/9e049eac27ff4d70b636d02cc505eb2f.png)
图 1 卷积因子
对于图像而言,取 3
行
3
列的图像数据,将图像数据与对应位置的算子的值相乘再相加,得到 x
方向的
Gx
,和
y
方向的
Gy
,将得到的
Gx
和
Gy
,平方后相加,再取算术平方根,得到 Gxy
,近似值为
Gx
和
Gy
绝对值之和,将计算得到的
Gxy
与我们设定的阈值相比较,Gxy
如果大于阈值,表示该点为边界点,此点显示黑点,否则显示白点。具体见图 2
![](https://img-blog.csdnimg.cn/28051e4a0e564d488b3219d3d17d675d.png)
图 2 Gxy 计算公式