win10+Python3.7.3+OpenCV3.4.1入门学习(九 图像梯度)————9.7 算子总结

Python版本是Python3.7.3,OpenCV版本OpenCV3.4.1,开发环境为PyCharm
Sobel算子、Scharr算子、Laplacian算子都可以用作边缘检测,它们的核如下图所示。
win10+Python3.7.3+OpenCV3.4.1入门学习(九 图像梯度)————9.7 算子总结
文章图片

Sobel算子和Scharr算子计算的都是一阶近似导数的值。通常情况下,可以将它们表示为:
【win10+Python3.7.3+OpenCV3.4.1入门学习(九 图像梯度)————9.7 算子总结】Sobel算子=|左-右| / |下-上|
Scharr算子=|左-右| / |下-上|
式中“|左-右|”表示左侧像素值减右侧像素值的结果的绝对值,“|下-上|”表示下方像素值减上方像素值的结果的绝对值。
Laplacian算子计算的是二阶近似导数值,可以将它表示为:
Laplacian算子=|左-右| + |左-右| + |下-上| + |下-上|
通过公式可以发现,Sobel算子和Scharr算子各计算了一次“|左-右|”和“|下-上|”的值,而Laplacian算子分别计算了两次“|左-右|”和“|下-上|”的值。

    推荐阅读