2016-05-25 2 views
0

Ich versuche, Beschreibungen für jedes Bild in einem Ordner zu bekommen und sie zu speichern. Ich möchte sie mit vl_kmeans verwenden können, damit ich sie gruppieren und dann Histogramme basierend auf der Anzahl der visuellen Wörter für jedes Bild erstellen kann. Hier ist der Code, den ich bisher habe, aber descrs gibt mir eine leere Matrix zurück.SIFT auf jedem Bild in einem Ordner ausführen und Geschäftsdeskriptoren

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 

Antwort

0

Ich hatte viele Fehler, fand sie heraus und reparierte sie. Hier ist der Code:

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 
Verwandte Themen