資源簡(jiǎn)介
官方MATLAB代碼和我手寫(xiě)的測(cè)試用例,在MATLAB2018上測(cè)試通過(guò)。

代碼片段和文件信息
%C?computes?the?VAR?descriptor.
%?J?=?CONT(IRNLIMSMODE)?returns?either?a?rotation?invariant?local?
%?variance?(VAR)?image?or?a?VAR?histogram?of?the?image?I.?The?VAR?values?
%?are?determined?for?all?pixels?having?neighborhood?defined?by?the?input?
%?arguments.?The?VAR?operator?calculates?variance?on?a?circumference?of?
%?R?radius?circle.?The?circumference?is?discretized?into?N?equally?spaced
%?sample?points.?Function?returns?descriptor?values?in?a?continuous?form?or
%?in?a?discrete?from?if?the?quantization?limits?are?defined?in?the?argument
%?LIMS.?
%
%?Examples
%?--------
%
%???????im?=?imread(‘rice.png‘);
%???????c??=?cont(im416);?
%???????d??=?cont(im4161:500:2000);
%
%???????figure
%???????subplot(121)imshow(c[])?title(‘VAR?image‘)
%???????subplot(122)imshow(d[])?title(‘Quantized?VAR?image‘)
function?result?=?cont(varargin)?
%?Version:?0.1.0
%?Check?number?of?input?arguments.
error(nargchk(15nargin));
image=varargin{1};
d_image=double(image);
if?nargin==1
????spoints=[-1?-1;?-1?0;?-1?1;?0?-1;?-0?1;?1?-1;?1?0;?1?1];
????neighbors=8;
????lims=0;
????mode=‘i‘;
end
if?(nargin?>?2)?&&?(length(varargin{2})?==?1)
????radius=varargin{2};
????neighbors=varargin{3};
????spoints=zeros(neighbors2);
????lims=0;
????mode=‘i‘;
????%?Angle?step.
????a?=?2*pi/neighbors;
????
????for?i?=?1:neighbors
????????spoints(i1)?=?-radius*sin((i-1)*a);
????????spoints(i2)?=?radius*cos((i-1)*a);
????end
????
????if(nargin?>=?4?&&?~ischar(varargin{4}))
????????lims=varargin{4};
????end
????
????if(nargin?>=?4?&&?ischar(varargin{4}))
????????mode=varargin{4};
????end
????
????if(nargin?==?5)
????????mode=varargin{5};
????end
end
if?(nargin?==?2)?&&?ischar(varargin{2})
????mode=varargin{2};
????spoints=[-1?-1;?-1?0;?-1?1;?0?-1;?-0?1;?1?-1;?1?0;?1?1];
????neighbors=8;
????lims=0;
end
%?Determine?the?dimensions?of?the?input?image.
[ysize?xsize]?=?size(image);
miny=min(spoints(:1));
maxy=max(spoints(:1));
minx=min(spoints(:2));
maxx=max(spoints(:2));
%?Block?size?each?LBP?code?is?computed?within?a?block?of?size?bsizey*bsizex
bsizey=ceil(max(maxy0))-floor(min(miny0))+1;
bsizex=ceil(max(maxx0))-floor(min(minx0))+1;
%?Coordinates?of?origin?(00)?in?the?block
origy=1-floor(min(miny0));
origx=1-floor(min(minx0));
%?Minimum?allowed?size?for?the?input?image?depends
%?on?the?radius?of?the?used?LBP?operator.
if(xsize?????error(‘Too?small?input?image.?Should?be?at?least?(2*radius+1)?x?(2*radius+1)‘);
end
%?Calculate?dx?and?dy;
dx?=?xsize?-?bsizex;
dy?=?ysize?-?bsizey;
%Compute?the?local?contrast
for?i?=?1:neighbors
????y?=?spoints(i1)+origy;
????x?=?spoints(i2)+origx;
????%?Calculate?floors?and?ceils?for?the?x?and?y.
????fy?=?floor(y);?cy?=?ceil(y);
????fx?=?floor(x);?cx?=?ceil(x);
????
????%?Use?double?type?images
????ty?=?y?-?fy;
????tx?=?x?-?fx;
????
????%?Calculate?the?interpolation?weigh
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????5404??2019-01-07?20:17??getmapping.m
?????文件????????6516??2019-01-07?20:19??lbp.m
?????文件?????????255??2019-01-07?20:22??lbptest.m
?????文件????????4378??2019-01-07?20:17??cont.m
- 上一篇:蒙特卡洛模擬法及其Matlab案例
- 下一篇:脈沖計(jì)數(shù)型鑒頻器
評(píng)論
共有 條評(píng)論