0

Я хочу использовать HoG для извлечения функций из набора, если (16) изображений. Я сделал для одного изображения, и он вернул хороший результат. Теперь я хочу сделать для всех других изображений и сохранить функции. . Как создать матрицу/массив для хранения функций для классификации. Все мои изображения находятся в одной папке ... Вот мой код до сих пор, Просьба помочь:Создать матрицу характеристик HoG, массив

%% Load Images 
imgFolder = fullfile('C:\Users\Engineering\Desktop\Finn\NEW'); 
imgSet = imageSet(imgFolder); 

%% Display Montage of First Note 
figure; 
montage(imgSet(1).ImageLocation); 
title('Images of Single Note'); 

%% Display Query Image and Database Side-Side 
galleryImage = read(imgSet,1); 
figure; 
for i=1:size(imgSet,2) 
imageList = imgSet(i).ImageLocation; 
end 

     subplot(1,2,1);imshow(galleryImage); 
subplot(1,2,2);montage(imageList); 
diff = zeros(1,9); 

%% Split Database into Training & Test Sets 
[training,test] = partition(imgSet,[0.8 0.2]); 

%% Extract and display Histogram of Oriented Gradient Features for single Note 
[hogFeature, visualization]= ... 
    extractHOGFeatures(read(training,1)); 
figure; 
    subplot(2,1,1);imshow(read(training,1));title('Input Note'); 
subplot(2,1,2);plot(visualization);title('HoG Feature'); 

%% Extract HOG Features for training set 

I need help in this section, please. Thank you 

ответ

0

Если я понимаю вопрос правильно. Вы хотите иметь многомерный массив с функциями Hog всех изображений. Если это так, вот простое решение

accum = []; 
for i = 1:training.Count 
    [hogFeature, visualization]= ... 
     extractHOGFeatures(read(training,i)); 
    accum = [accum;hogFeature]; 
end 

Теперь каждая строка матрицы accum представляет собой набор из Hog Особенности для соответствующего изображения. Hog Особенности n-го изображения можно получить по адресу features = accum(n,:);.

+0

Спасибо Харнатин. Я попробую коды и вернусь. –

+0

Если это работает. Пожалуйста, поддержите и примите ответ. – Harjatin

+0

Хорошо. Но еще одна строка отсутствует: мне нужно использовать ее для classifier = fitcecoc (функции, метки); чтобы получить часть ярлыка, я попытался использовать: label = training (i) .Description; но он возвратил ошибку ... Индекс превышает размер матрицы. Как это решить. Спасибо –