function outval = avg_gradient(img)
% OUTVAL = AVG_GRADIENT(IMG)
if nargin == 1
img = double(img);
% Get the size of img
[r,c,b] = size(img);
dx = 1;
dy = 1;
for k = 1 : b
band = img(:,:,k);
[dzdx,dzdy] = gradient(band,dx,dy);
s = sqrt((dzdx .^ 2 + dzdy .^2) ./ 2);
g(k) = sum(sum(s)) / ((r - 1) * (c - 1));
end
outval = mean(g);
else
error('Wrong number of input!');
end
end
平均梯度matlab代码
最新推荐文章于 2024-05-29 21:26:27 发布