困扰多年,看了不久以后就又会忘记。
一.方向导数
(1)方向导数是个数值。
二维空间情形:
我们把f(x+Dx,y+Dy)-f(x,y)的值Value1与PP1的距离value2的比值的极值叫做沿PP1的方向导数。
三维空间计算过程相似;
二.梯度
(1)梯度是一个向量。
(2)沿梯度方向的方向导数达到最大值;
sxyd.sdut.edu.cn/gaoshu2/lesson/8.7fangxiangdaoshuyutidu.htm
以二维空间为例,对于Z=f(x,y).在某点P(x0,y0)处的梯度可以理解为(DZ/Dx|x=x0,DZ/Dy|y=y0)。具体到离散状态,用差分的形式来表示
就是(一维的表示方法)
沿X方向 (f(x+Dx)-f(x))
沿Y方向 (f(y+Dy)-f(y))
梯度的方向表示为Sigta=arctan(Dy/Dx)
所以求解一个图像的各个方向的梯度时,我们采用模板与图像的卷积来进行计算:
分别表示在90度,0度,135度和45度的变化。
总结:某一方向的方向导数也就是f(x,y)在该方向的变化率(也就是f(x+Dx,y+dy)-f(x,y)的值),当该方向与梯度的方向一致时梯度方向也就是方向导数最大的方向,方向导数的值就等于梯度的模。
(参见网址:210.31.100.100/gdsx/?p=61&a=view&r=219)
有一个疑问是,在Canny算子进行边缘检测时,也会用到梯度方向的最值问题,如果角度为0-45度之间的一个值,该怎样取周围的像素点?
因为上面的4个角度在3×3的模板中就可以保证全部取到,所以,若要更精确,是不是要增加模板的大小?
希望高手帮忙解决。