features extraction for images with different features size in a matrix error?
2 views (last 30 days)
Show older comments
yasmin almashagbah
on 30 Nov 2020
Commented: yasmin almashagbah
on 9 Dec 2020
I am trying to extract features from a dataset of images the problem that the features extraction algorithm gives different features size for each image, for example, the first image 1000 features and the second 2000. and it gives me an error because of that when I try to store them in a matrix. what should I do??
imds=imageDatastore('E:\dataset test','IncludeSubFolders',true,'LabelSource','foldernames');
trainingFeatures=[];
[imds_5k, imds_extra] = splitEachLabel(imds,15);
trainingLabels=imds_5k.Labels;
for i = 1:numel(imds_5k.Files) % Read images using a for loop
img = readimage(imds_5k,i);
trainingFeatures(i,:) = example(img);
end
this is the error: Unable to perform assignment because the size of the left side is 1-by-86386 and the size of the right side is 1-by-73638.
0 Comments
Accepted Answer
Ameer Hamza
on 30 Nov 2020
You can use a cell array
imds=imageDatastore('E:\dataset test','IncludeSubFolders',true,'LabelSource','foldernames');
[imds_5k, imds_extra] = splitEachLabel(imds,15);
trainingLabels=imds_5k.Labels;
trainingFeatures=cell(1,numel(imds_5k.Files));
for i = 1:numel(imds_5k.Files) % Read images using a for loop
img = readimage(imds_5k,i);
trainingFeatures{i} = example(img);
end
6 Comments
More Answers (0)
See Also
Categories
Find more on Language Support in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!