MATLAB R2010a中的VLFeat错误-hists{ii}=getImageDescriptor(模型,im);
我正在使用的vl_sift工具从一组图像中提取特征进行分类。 在运行phow_caltech101()时,命令提示符向我抛出一个错误,如下所示: hists{ii}=getImageDescriptor(模型,im); ??? “struct”类型的输入参数的未定义函数或方法“getImageDescriptor” 我在任何存储库中都找不到函数“getImageDescriptor”。 你能帮帮我吗MATLAB R2010a中的VLFeat错误-hists{ii}=getImageDescriptor(模型,im);,matlab,sift,vlfeat,Matlab,Sift,Vlfeat,我正在使用的vl_sift工具从一组图像中提取特征进行分类。 在运行phow_caltech101()时,命令提示符向我抛出一个错误,如下所示: hists{ii}=getImageDescriptor(模型,im); ??? “struct”类型的输入参数的未定义函数或方法“getImageDescriptor” 我在任何存储库中都找不到函数“getImageDescriptor”。 你能帮帮我吗 致以最诚挚的问候,它在同一个文件中 它不仅仅是主phow_caltech101文件中定义的一个子
致以最诚挚的问候,它在同一个文件中
它不仅仅是主phow_caltech101文件中定义的一个子函数吗?(如果是这样,我无法想象为什么它不起作用)
% -------------------------------------------------------------------------
function hist = getImageDescriptor(model, im)
% -------------------------------------------------------------------------
im = standarizeImage(im) ;
width = size(im,2) ;
height = size(im,1) ;
numWords = size(model.vocab, 2) ;
% get PHOW features
[frames, descrs] = vl_phow(im, model.phowOpts{:}) ;
% quantize local descriptors into visual words
switch model.quantizer
case 'vq'
[drop, binsa] = min(vl_alldist(model.vocab, single(descrs)), [], 1) ;
case 'kdtree'
binsa = double(vl_kdtreequery(model.kdtree, model.vocab, ...
single(descrs), ...
'MaxComparisons', 50)) ;
end
for i = 1:length(model.numSpatialX)
binsx = vl_binsearch(linspace(1,width,model.numSpatialX(i)+1), frames(1,:)) ;
binsy = vl_binsearch(linspace(1,height,model.numSpatialY(i)+1), frames(2,:)) ;
% combined quantization
bins = sub2ind([model.numSpatialY(i), model.numSpatialX(i), numWords], ...
binsy,binsx,binsa) ;
hist = zeros(model.numSpatialY(i) * model.numSpatialX(i) * numWords, 1) ;
hist = vl_binsum(hist, ones(size(bins)), bins) ;
hists{i} = single(hist / sum(hist)) ;
end
hist = cat(1,hists{:}) ;
hist = hist / sum(hist) ;