图像处理中梯度详解 及gradient()函数

图像在计算机中以数字图像的形式存储,即以数值矩阵的形式存在,形成了离散的数值信号,在此基础上,对于图像处理中的数值的多样性计算分析也影响着初步图像分析。

图像梯度的定义:

图像函数f(x,y)在点(x,y)的梯度是一个具有大小和方向的矢量,设为Gx 和 Gy 分别表示x方向和y方向的梯度,这个梯度的矢量可以表示为:

图像梯度:G(x,y)=dx i +dy j;

dx(i,j)=Img(i+1,j)-Img(i,j);

dy(i,j)=Img(i,j+1)-I(i,j);

 

Img(i,j)是图像数值矩阵的像素值,(i,j)为像素相应坐标。

Gradient(Img)函数求的是数值上的梯度,假设Img为图片数值矩阵.

 

Matlab中计算方法:

 [Rx,Ry]=gradient(Img);

(1)水平方向梯度Rx,Rx的第一列元素为原矩阵第二列与第一列元素之差,Rx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后两列之差。

(2)垂直方向梯度Ry,同理,可以得到Fy。

posted @ 2019-02-26 21:40  revere  阅读(2123)  评论(0编辑  收藏  举报