2016-05-25 11 views
0

Я пытаюсь получить дескрипторы для каждого изображения в папке и сохранить их. Я хочу иметь возможность использовать их с vl_kmeans, чтобы я мог их кластеризовать, а затем строить гистограммы на основе количества визуальных слов для каждого изображения. Вот код, который у меня есть до сих пор, но descrs возвращает мне пустую матрицу.запускать SIFT на каждом изображении в папке и хранить дескрипторы

conf.dataDir = 'data\Samples' ; 
N_WORDS = 400; 

images = {} ; 
filelist = dir(fullfile(conf.dataDir, '*.jpg')); 
descrs = {} ; 
parfor i=1:(size(filelist,1)-100) 
    fname = filelist(i).name; 
    images=imread(fname); 
    [F, descrs{i}] = vl_dsift(single(images(i)),'Step', 10, 'Fast'); 
    descrs{i} = single(descrs{i}); 
end 

ответ

0

У меня было много ошибок, они нашли их и исправили. Вот код:

conf.dataDir = 'data\Samples' ; 
N_WORDS = 400; 

images = {}; 
filelist = dir(fullfile(conf.dataDir, '*.jpg')); 
descrs = {}; 
parfor i=1:(size(filelist,1)-100) 
    fname = filelist(i).name; 
    images{i} = single(rgb2gray(imread(fname))) ; 
    [f{i}, d{i}] = vl_dsift(images{i},'Step', 10, 'Fast'); 
end