Sobel Edge Detector 边界检测算法

原文地址:http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm

 

摘要

 

Sobel 算法关注2维图像上的变化程度测量,特别强调变化频率高的区域以确定边界。典型的应用是寻找输入的灰度图像中每个点的绝对变化量。

 

工作原理

 

理论上,该操作包含2个 3x3矩阵,如下图,其中一个是另外一个的90°旋转。

 

   -1     0      +1                   +1       +2         +1

   -2     0      +2                     0          0           0

   -1     0      +1                    -1        -2          -1

 

          GX                                       GY

 

这两个矩阵分别用来检测水平和垂直方向上与每个点相关的变化最大的边界。可以分别对输入的图像使用它们进行每个方向上的变化测量,然后综合起来看变化的绝对量和变化的方向。公式如下:

GX GY 平方和 然后 求根。

近似的求法:

绝对值相加

 

角度求法: angle = arctan(Gy/Gx) .

这种情况下,角度0表示从左到右从黑到白的最大对比度,其他角度为从此角度逆时针旋转的角度。

 

为了计算简便,通常也可以用一个变通的矩阵来做。公式请看原文。

 

第一次翻译,翻译的水平有限。第一次用blog,好多图不知道怎么加上。

对这个感兴趣的还是看看原文吧。

 

后面就是些效果的演示了,看原文比较好。因为我不会加图 :(

你可能感兴趣的:(IT)