![]() |
[求助]如何求图像的梯度
书上举例灰度图像:
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的梯度算子(?) |
回复: [求助]如何求图像的梯度
其实很简单的,你可以参看下matlab里面的edge函数,里面的canny就要求梯度,它里面是用一个卷积求的,求的效果蛮好的。
先是生成一个求梯度的卷积模板,然后再用imfilter函数做卷积,就可以得到你要的了 |
所有时间均为北京时间。现在的时间是 03:47。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.