索贝尔算子(Sobel operator,更多相关信息请见http://en.wikipedia.org/wiki/Sobel_operator)可被用来做图像的边缘检测。此类边缘检测就是对图像的亮度进行离散差分运算。因为图像是二维的,所以差分运算所得的梯度值也有两个分量。当然我们可以选择只计算某一个维度的梯度值。我们将对图像Lena应用索贝尔滤波器。
具体步骤
我们将以图像Lena为研究对象,学习怎样用索贝尔滤波器进行边缘检测。
- 在x轴方向应用索贝尔滤波器。
为了在x轴方向应用索贝尔滤波器,需要把参数axis
设置为0。
- 在y轴方向应用索贝尔滤波器。
为了在y轴方向应用索贝尔滤波器,需要把参数axis
设置为1。
- 默认方式使用索贝尔滤波器。
默认方式使用索贝尔滤波器时,只需要提供一个数组:
原始图像和处理后的图像如下图所示。该图展示了用索贝尔滤波器进行边缘检测的效果。
完整的边缘检测代码如下。