梯度
梯度(gradient)的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
当然,梯度的概念也可以推广到三元函数的情形。同样,该梯度方向与取得最大方向导数的方向一致,而它的模为方向导数的最大值。
同样的,在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。
图像
图像可以看作是二维离散函数。
Lena 图像-- 灰度图
图像中央 21 x 21 区域块儿,
函数视角 - 直方图
曲线图
图像梯度
既然图像是二维离散函数,那么图像梯度其实就是这个二维离散函数的求导。
图像梯度: G(x,y) = dx(i,j) + dy(i,j);
dx(i,j) = I(i+1,j) - I(i,j);
dy(i,j) = I(i,j+1) - I(i,j);
其中,I是图像像素的值(如:RGB值),(i,j)为像素的坐标。
图像梯度一般也可以用中值差分:
dx(i,j) = [I(i+1,j) - I(i-1,j)]/2;
dy(i,j) = [I(i,j+1) - I(i,j-1)]/2;
图像边缘一般都是通过对图像进行梯度运算来实现的。
上面说的是简单的梯度定义,其实还有更多更复杂的梯度公式。
图像梯度算子
对于离散的图像来说,一阶微分的数学表达相当于两个相邻像素的差值,根据选择的梯度算子不同,效果可能有所不同,但是基本原理不会变化。
Roberts算子
Sobel 算子
Prewitt 算子
图像梯度的权重和角度
权重 / 振幅 :magnitude, 表示边缘强度信息
方向 / 角度:theta,预言边缘的方向走势。
Theta = tan-1(yGradient/xGradient)
注意,45° 算子检测出的是 135° 边缘,水平算子检测出的是竖直边缘。a = (180° - b) 的关系。权重图像则是把全部边缘凸显出来。
Ref