sobel_amp

首先你要明白sobel算子是一个梯度算子,梯度就是所谓的导数,导数在图像中的意义就是边缘和细节等这些灰度值变化剧烈的地方,所以sobel_amp这个算子是用来检测edges,也就是图像的边缘的。

然后amp是amplitude的缩写,中文翻译为幅度,其实就是向量的模,那么你所问的那些Filtertype其实就是不同的计算amplitude的办法,这里你要撇清以前学的那些计算什么距离啊模啊之类的观念,这些数学概念都是人定义的,所以模并不是只有我们以前学到的sqrt(a^2 + b^2)这一种计算方法。所以你也不要纠结这么多滤波器类型选择哪一种了,其实都没有多大的差别,一般情况下你就用默认的那个就行了。

Size就是滤波器的大小啊,比如你要用3*3还是5*5,这个大小的主要区别在于,如果使用的3*3,由于sobel算子的定义就是这个大小,所以直接就按照sobel梯度的计算方式去计算导数,如果使用的size比3*3要大,那么就会先对图像进行一个平滑(Gauss平滑,Gauss平滑的模版大小是你在这里选择的size-2),然后再进行梯度的计算,以检测边缘等信息。

那么直接检测和先平滑再检测的区别是什么呢?就是有时候图像会包含一些小的噪声,比如椒盐噪声,如果直接检测,那么这些噪声点也会有很强的响应,也会被检测到。然而这个时候如果对图像先进行一次Gauss平滑除去一定的噪声,那么检测效果是不是就更好了啊!

然后如果从这个模版的size的本质上去理解的话呢,你想啊,size越大,代表我们在处理模版中心的那个像素时所考虑的它周围的邻域越大,也就是这个像素点周围更多的像素被考虑进来,如果这样理解的话,因为是在计算导数,也就是灰度值的变化剧烈程度,那么从原理上来说size越大,对一些粗一些的边缘检测效果更好,反之,size越小,对细一些的边缘效果更好。但是大部分情况下都是用3*3或者5*5.

转载于:https://www.cnblogs.com/hu16683845/p/9290171.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值