Sobel 算子
提取轮廓
右减左,下减上

ddepth一般指定-1,与输入一样(在 OpenCV 里,“图像深度(depth)” 指的其实就是 每个像素的数据类型(data type),比如是8位整数、16位整数还是32/64位浮点数—— 而不是图像的“位深度”或“通道数”。)dx,dy为 0 或 1
sobelx = cv2.Sobel(img, cv2.CV64F, 1, 0, ksize=3)cv2.CV64F 提升位数,表示负数,用于后面取绝对值(白到黑是正,黑到白就是负了)
sobelx = cv2.convertScaleAbs(sobelx)取绝对值
总的梯度为两个方向上的求和
sobelxy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)
(不建议 dx dy 同时设为 1 之后同时计算)
例子:

Scharr 算子
数值比 Sobel 算子大,对结果差异更大更敏感,对原图像描绘更细致
是 Sobel 算子的精度优化版本,大小固定为 3
Laplacian 算子
二阶导,对变化更敏感,但是不足之处在于容易受到噪音点的影响
(中心与周围比较,无 dx,dy)
例子:
