【问题标题】:Create HoG feature matrix, array创建HoG特征矩阵、数组
【发布时间】:2016-03-13 05:30:30
【问题描述】:

我想使用 HoG 从一组 if (16) 图像中提取特征。我已经完成了一张图片,它返回了一个很好的结果。现在我想为所有其他图像做,并存储特征。 . 请问如何创建矩阵/数组来存储分类特征。 我所有的图像都在一个文件夹中... 到目前为止,这是我的代码,请帮助:

%% 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

【问题讨论】:

    标签: matlab matrix multidimensional-array feature-extraction


    【解决方案1】:

    如果我正确理解了这个问题。您希望拥有一个包含所有图像的 Hog 特征的多维数组。如果是这样的话,这里有一个简单的解决方案

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

    现在,accum 矩阵的每一行都是对应图像的一组 Hog 特征。第n张图片的Hog Features可以通过features = accum(n,:);访问。

    【讨论】:

    • 谢谢哈纳廷。我会尝试代码并回来。
    • 好的。但是又少了一行:我需要将它用于分类器=fitcecoc(features, label);为了获得标签部分,我尝试使用: label=training(i).Description;但它返回错误...索引超出矩阵维度。我该如何解决这个问题。谢谢
    • 请再次迷路。做分类器。我需要这两个参数:fitcecoc(x,y)。 X=特征。 y 是什么?
    • y 是与特定训练示例关联的标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    相关资源
    最近更新 更多