不同尺寸的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版)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:护眼 设计师:闪电赇 返回首页
评论 7

打赏作者

阿卡基YUAN

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值