📄 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 + -