OpenCV之scharr算子详解/scharr算子和sobel算子的区别

Gabriela ·
更新时间:2024-09-21
· 661 次阅读

scharr算子实际上是sobel算子的优化,scharr算子在处理边缘时比sobel精度高一些。两种算子唯一的区别就是他们的卷积核不同,他们无论在计算时间还是复杂度都是一样的。
在这里插入图片描述
容易看出两种算子卷积核的差异。
opencv中提供给我们scharr算子的函数:

cv2.Scharr(src,ddepth,dx,dy)

参数解释同sobel,不清楚的请移步OpenCV之sobel算子详解
但是我们既然说scharr算子是sobel算子的优化,我们当然也可以通过sobel算子实现scharr算子的功能,只需

cv2.Sobel(src,ddepth,dx,dy,-1)

把sobel函数第五个参数改为-1即可变为scharr算子。

例子

待处理图片
在这里插入图片描述
sobel算子:
在这里插入图片描述
scharr算子:
在这里插入图片描述
区别很明显,scharr算子明显在细节处理要好于sobel算子


作者:嘉 禾 天 橙 国 际 大 影 院♡♡



sobel opencv

需要 登录 后方可回复, 如果你还没有账号请 注册新账号