Sobel算子参数及运行结果

基于opencv边缘检测算子有很多,比如Canny算子,Robert算子,Sobel算子,Laplacian算子,Prewitt算子,Krisch算子和Scharr滤波器等

接下来要介绍的是Sobel算子:
Sobel算子
索贝尔算子(Sobeloperator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。

Sobel算子参数:
Sobel(inputArray,OutputArray,int ddepth,int dx,int dy,int ksize=3,double scale=(1.0),double delta=(0.0),int borderType=4)

第一个参数:输入函数
第二个函数:输出函数
第三个参数(int ddepth),int类型的ddepth,输出图像的深度。
【图片来源百度】
图片深度类型:
在这里插入图片描述
在Sobel算子中支持如下src.depth()和ddepth的组合:
1、若src.depth() = CV_8U, 取ddepth =-1/CV_16S/CV_32F/CV_64F
2、若src.depth() = CV_16U/CV_16S, 取ddepth =-1/CV_32F/CV_64F
3、若src.depth() = CV_32F, 取ddepth =-1/CV_32F/CV_64F
4、若src.depth() = CV_64F, 取ddepth = -1/CV_64F

第四个参数,int类型dx_order,x 方向上的差分阶数。

第五个参数,int类型dy_order,y方向上的差分阶数。
(由于Sobel 算子结合了 Gaussian 平滑和微分,所以,其结果或多或少对噪声有一定的鲁棒性。通常情况,函数调用采用如下参数 (xorder=1, yorder=0, aperture_size=3) 或 (xorder=0, yorder=1, aperture_size=3) 来计算一阶 x- 或 y- 方向的图像差分)

第六个参数,int类型ksize,有默认值3,表示Sobel核的大小;必须取1,3,5或7。

第七个参数,double类型的scale,计算导数值时可选的缩放因子,默认值是1,表示默认情况下是没有应用缩放的。

第八个参数,double类型的delta,表示在结果存入目标图(第二个参数dst)之前可选的delta值,有默认值0。

第九个参数, int类型的borderType,边界模式,默认值为BORDER_DEFAULT。

原图:在这里插入图片描述
Sobel算法结果:
X方向Sobel
在这里插入图片描述
Y方向Sobel:
在这里插入图片描述
整体方向Sobel:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值