梯度和方向导数的概念

时间:2024-04-16 15:09:42

困扰多年,看了不久以后就又会忘记。

一.方向导数

(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的模板中就可以保证全部取到,所以,若要更精确,是不是要增加模板的大小?

希望高手帮忙解决。