加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于matlab中的梯度使用

(2012-03-01 14:56:37)
标签:

杂谈

Matlab梯度函数gradient(转载)

梯度值就是图像灰度值的显著变化的地方。         http://snow-flower.taobao.com

梯度:变化/参考量

1。如果F是一维矩阵,则FX=gradient(F,H)返回F的一维数值梯度。H是F中相邻两点间的间距。

2。如果F是二维矩阵,返回F的二维数值梯度。

[FX,FY]=gradient(F,HX,HY)。HX,HY参数表示各方向相邻两点的距离。

3。如果F是三维矩阵,返回F的三维数值梯度。

[FX,FY,FZ]=gradient(F,HX,HY,HZ)。

HX,HY,HZ参数表示各方向相邻两点的距离。


例:
>> x=[6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0]
x =
    6     9     3     4     0
    5     4     1     2     5
    6     7     7     8     0
    7     8     9 10     0
>> [Fx,Fy]=gradient(x)
Fx =
3.0000 -1.5000 -2.5000 -1.5000 -4.0000
-1.0000 -2.0000 -1.0000 2.0000 3.0000
1.0000 0.5000 0.5000 -3.5000 -8.0000
1.0000 1.0000 1.0000 -4.5000   -10.0000

Fy =
-1.0000 -5.0000 -2.0000 -2.0000 5.0000
      0 -1.0000 2.0000 2.0000       0
1.0000 2.0000 4.0000 4.0000 -2.5000
1.0000 1.0000 2.0000 2.0000       0

gradient()是求数值梯度函数的命令。[Fx,Fy]=gradient(x),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后两列之差。同理,可以得到Fy。

 

 

http://apps.hi.baidu.com/share/detail/24941980

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有