matlab的rad,radgrad.m · zigzag2015/machinevision-toolbox-matlab - Gitee.com

沈茂
2023-12-01

%RADGRAD Radial gradient

%

% [GR,GT] = RADGRAD(IM) is the radial and tangential gradient of the image IM.

% At each pixel the image gradient vector is resolved into the radial and

% tangential directions.

%

% [GR,GT] = RADGRAD(IM, CENTRE) as above but the centre of the image is

% specified as CENTRE=[X,Y] rather than the centre pixel of IM.

%

% RADGRAD(IM) as above but the result is displayed graphically.

%

% See also ISOBEL.

% Copyright (C) 1993-2011, by Peter I. Corke

%

% This file is part of The Machine Vision Toolbox for Matlab (MVTB).

%

% MVTB is free software: you can redistribute it and/or modify

% it under the terms of the GNU Lesser General Public License as published by

% the Free Software Foundation, either version 3 of the License, or

% (at your option) any later version.

%

% MVTB is distributed in the hope that it will be useful,

% but WITHOUT ANY WARRANTY; without even the implied warranty of

% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

% GNU Lesser General Public License for more details.

%

% You should have received a copy of the GNU Leser General Public License

% along with MVTB. If not, see .

function [gr,gt] = radgrad(im, center)

[nr,nc] =size(im);

if nargin == 1

xc = nr/2;

yc = nc/2;

else

xc = center(1);

yc = center(2);

end

[X,Y] = meshgrid(1:nc, 1:nr);

X = X - xc;

Y = Y - yc;

H = sqrt(X.^2 + Y.^2);

sth = Y ./ H;

cth = X ./ H;

[ih,iv] = isobel(im);

g = sth .* iv + cth .* ih;

if nargout == 0

idisp(g);

elseif nargout == 1

gr = g;

elseif nargout == 2

gr = g;

gt = cth .* iv + sth .* ih;

end

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料: