使用gradient语句即可实现求梯度功能。
具体语法如下:
[FX, FY] = gradient (F)
其中FX表示横向的梯度(相对于原矩阵F而言),FY表示纵向的梯度。
示例如下:
matlab里求矩阵的梯度使用的语句,代码如下:
(Matlab环境下)
Gradx = [1 -1];
Grady = [1 -1];
ConX = zeros(ROW,COL);
ConY = zeros(ROW,COL);
for row = 2:ROW
for col = 2:COL
Cellx = [I(row,col-1) I(row,col)];
Celly = [I(row-1,col) I(row,col)];
ConX(row,col) = sum(sum(double(Gradx).*double(Cellx)));
ConY(row,col) = sum(sum(double(Grady).*double(Celly)));
end
end
Grad(:,:,1) = ConX; % x方向梯度
Grad(:,:,2) = ConY; % y方向梯度