Matlab gradient()函数

来源:互联网 发布:淘宝妈妈装模特莫姐 编辑:程序博客网 时间:2024/05/21 03:25

梯度的概念

  • 梯度: https://en.wikipedia.org/wiki/Gradient

a example for Matlab gradient()

array = [     1     2     3     4     5     5     4     3     2     1     2     7     7     3     2     3     2     6     5     0][Fx,Fy]=gradient(array) % Fx: 求水平方向的梯度                         % Fy:求垂直方向上的梯度

输出

Fx =    1.0000    1.0000    1.0000    1.0000    1.0000   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000    5.0000    2.5000   -2.0000   -2.5000   -1.0000   -1.0000    1.5000    1.5000   -3.0000   -5.0000Fy =    4.0000    2.0000         0   -2.0000   -4.0000    0.5000    2.5000    2.0000   -0.5000   -1.5000   -1.0000   -1.0000    1.5000    1.5000   -0.5000    1.0000   -5.0000   -1.0000    2.0000   -2.0000/*计算方法:Fx第一列元素   = array矩阵第二列元素的值  - array第一列元素的值Fx最后一列元素 = array矩阵最后一列元素的值 - array倒数第二列元素的值公式: Fx(i,j) = (F(i,j+1)-F(i,j-1)) / 2,         即:(第`j+1`列元素的值 - `j-1`列元素的值 ) / 2Fy第一行元素   = array矩阵第二行元素的值  - array第一行元素的值Fx最后一行元素 = array矩阵最后一行元素的值 - array倒数第二行元素的值公式: Fx(i,j) = (F(i+1,j)-F(i-1,j)) / 2,         即:(第`i+1`行元素的值 - `i-1`行元素的值 ) / 2*/

参考文献:

https://en.wikipedia.org/wiki/Gradient

0 0
原创粉丝点击