查看单个帖子
旧 2008-08-02, 16:10   #1
soliddream
初级会员
 
注册日期: 2008-06-18
年龄: 44
帖子: 8
声望力: 0
soliddream 正向着好的方向发展
默认 [求助]如何求图像的梯度

书上举例灰度图像:
a =

0 0 0 100 100
0 0 0 100 100
0 0 0 100 100
100 100 100 100 100
100 100 100 100 100

列梯度
fx =

0 0 300 300 0
0 0 300 300 0
0 0 200 200 0
0 0 0 100 0
0 0 0 0 0
行梯度

fy =

0 0 0 0 0
0 0 0 0 0
300 300 200 100 0
300 300 200 100 0
0 0 0 0 0
不知道matlab里面有没有求梯度的函数?我按梯度的英文gradient在帮助中搜索,并按照如下语法使用
>> [Fx , Fy] = gradient(a,1/6)

Fx =

0 0 300.0000 300.0000 0
0 0 300.0000 300.0000 0
0 0 300.0000 300.0000 0
0 0 0 0 0
0 0 0 0 0


Fy =

0 0 0 0 0
0 0 0 0 0
300.0000 300.0000 300.0000 0 0
300.0000 300.0000 300.0000 0 0
0 0 0 0 0
得到的结果不一样啊
ps.书上面解释如下:函数row_gradient和column_gradient分别是估计行梯度分量和列梯度分量的领域函数,注意采用3*3的梯度算子(?)
soliddream 当前离线   回复时引用此帖