Sobel算子
Sobel是求一阶导数
cv2.Sobel(src, ddepth, dx, dy[, ksize])
- ddepth:输出深度
通常是-1,即保持原输入的深度,不过会带来问题:检测不到负梯度(白到黑是正,黑到白是负,负数会被截断)。为了解决该问题,可以把输出的数据类型设置的更高,比如ddepth=cv2.CV_64
- dx和dy表示水平和竖直方向(值为1即求取该方向,值为0则不求取该方向)
- ksize是Sobel算子的大小(通常是3x3)
Scharr算子
Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化。
cv2.Scharr(src, ddepth, dx, dy)
相较于Sobel算子,能捕捉到更多的信息
laplacian算子
Laplacian 是求二阶导数