?? readfeatures.m
字號:
function fvTrain = readFeatures(par)
fvTrain = [];
path = sprintf('%s*.jpg',par.directoriImatges);
images = dir(path);
used = zeros(1,size(images,1));
for j=1:par.nPosImages
index = round(rand(1)*size(images,1));
while index ==0 || used(1,index)
index = round(rand(1)*size(images,1));
end
used(1,index) = 1;
s = sprintf('%s%s',par.directoriImatges,images(index).name);
I = imread(s);
if par.BW==0 && size(I,3)==3, I = rgb2gray(I); end
if size(I,3)< 3 && par.BW==1
file = sprintf('%s%s.V.sift',par.directoriSift,images(index).name);
fv = llegirFitxer(file);
h = zeros(size(fv,1),128);
fv = [fv h h];
end
if size(I,3)==3 && par.BW==1
file = sprintf('%s%s.H.sift',par.directoriSift,images(index).name);
fv = llegirFitxer(file);
file = sprintf('%s%s.S.sift',par.directoriSift,images(index).name);
fv = [fv llegirFitxer(file)];
file = sprintf('%s%s.V.sift',par.directoriSift,images(index).name);
fv = [fv llegirFitxer(file)];
end
if size(I,3)< 3 && par.BW==0
file = sprintf('%s%s.sift',par.directoriSift,images(index).name);
fv = llegirFitxer(file);
end
usedfeatures = zeros(1,size(fv,1));
if par.nFeatures <=size(fv,1)
for k=1:par.nFeatures
index = round(rand(1)*size(fv,1));
while index ==0 || usedfeatures(1,index)
index = round(rand(1)*size(fv,1));
end
fvTrain = [fvTrain; fv(index,:)];
end
else
fvTrain = [fvTrain;fv];
end
end
fvTrain = fvTrain';
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -