我想创建自己的数据集,例如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);
任何帮助将不胜感激!