不同尺寸的Sobel模板

常用的Sobel算子模板如下:

 

这是标准的3×3 Sobel模板,如何得到更大尺寸模板呢?例如5×5、7×7。

边缘检测类似微分运算,其本质就是检测图像亮度的变化,因此噪声必然会对检测效果产生一定影响。为了避免噪声的影响,在构造边缘检测算子时不仅要考虑差分处理,还得要考虑平滑处理。这样既能滤除噪声还能检测边缘。类似一阶差分模板、Roberts交叉算子只是考虑了差分因素。而Prewitt算子通过对一阶差分模板扩展成3×3尺寸从而引入了均值运算。在同时期的边缘检测算法中,Sobel算子被认为是最好的检测模板,它除了考虑差分因素还兼顾了最优的平滑系数。

构造Sobel算子的理论基础是帕斯卡三角形(Pascal's triangle),帕斯卡三角形可以计算出平滑算子的一组系数,在极限情况下这组系数与高斯平滑算子的系数大致相同。帕斯卡三角形如下:

对于不同级数n,位置k的系数为Pascal(k,n):

Pascal(k,n) = n!/[(n-k)! * k!], if(k >= 0 && k <= n)

Pascal(k,n) = 0,otherwise

对于模板窗口大小为winsize的平滑系数为:

Smooth(k) = Pascal(k,winsize-1),

(k >= 0 && k < =winsize-1)

例如3×3标准Sobel模板的平滑系数依次为:

Pascal(0,2)=1  Pascal(1,2)=2 Pascal(2,2)=1

对于模板窗口大小为winsize的差分系数为:

Diff(k) = Pascal(k,winsize-2) –Pascal(k-1,winsize-2),

(k >= 0 && k < =winsize-1)

例如3×3标准Sobel模板的差分系数依次为:

Pascal(0,1)–Pascal(-1,1) = 1;

Pascal(1,1)–Pascal(0, 1) = 0;

Pascal(2,1)–Pascal(1, 1) = -1

上面的方法可以计算出一条轴上的差分系数和另一条轴上的平滑系数。

接下来给出通用的Sobel模板:

Sobel模板的X方向模板SobelX(x,y):

Sobel模板的Y方向模板SobelY(x,y):

例如:5×5 Sobel模板的X方向模板(Y方向是其转置)为:

7×7尺寸的Sobel模板就留给感兴趣的读者计算吧!

【参考资料】:计算机视觉特征提取与图像处理(第3版)

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值