Создание набора данных с помощью imageDatastore - PullRequest
0 голосов
/ 14 октября 2019

Я хочу создать свой собственный набор данных, такой как CIFAR-10, но не со значениями RGB, а вектором признаков CEDD изображения. Я создаю хранилище imageDatastore и читаю изображения и их метки со следующим кодом:

imageFolder = fullfile('G:\9th Semester\Project - 2\myDataset');
imds = imageDatastore(imageFolder,'LabelSource', 'foldernames', 'IncludeSubfolders',true);
[trainingSet , testingSet] = splitEachLabel(imds , 0.8 , 'randomize');
trainingSet = shuffle(trainingSet);
testingSet = shuffle(testingSet);
data = [];
labels = char.empty(0,10);
cedd = [];
for i=1:size(trainingSet.Files)
    image = readimage(trainingSet,i);
    cedd = CEDD(image);
    zerosCount = 0 ;
    for j=1:144
        if cedd(j) == 0
            zerosCount=zerosCount + 1;
        end
    end
    if zerosCount ~= 144
        data(i , :) = cedd;
        labels(i ,: ) = trainingSet.Labels(i);
    end
end
save('train.mat' , 'data' , 'labels');

Но выдает мне эту ошибку:

Невозможно выполнить назначение, поскольку размерлевая сторона - 1 на 10, а размер правой стороны - 1 на 3. Ошибка в метках набора данных (строка 20) (i,:) = trainingSet.Labels (i);

Любая помощь будет высоко оценена!

...