How can i crop images from multiple folders that are located under one main folder to a specific size before i feed it through a CNN?
1 view (last 30 days)
Show older comments
categories = {'Cardiomegaly','Infiltration', 'No Finding'};
rootFolder = 'C:\Users\roro\Downloads\Data';
imds = imageDatastore(fullfile(rootFolder, categories), ...
'LabelSource', 'foldernames');
0 Comments
Accepted Answer
Raunak Gupta
on 24 Jun 2020
Hi,
You can use augmentedImageDatastore to augment the images read by imageDatastore. The cropping function can be achieved using the OutputSizeMode as ‘centercrop’. You may ‘randcrop’ also if you want cropping to be random instead of focusing at center. Below code might help.
rootFolder = 'C:\Users\roro\Downloads\Data';
imds = imageDatastore(fullfile(rootFolder, categories), ...
'LabelSource', 'foldernames');
% imageSize must be defined according to the final cropped image size
imageSize = [28 28 1];
augimds = augmentedImageDatastore(imageSize,imds,'OutputSizeMode','centercrop');
augimds can then feed to CNN instead of imds.
3 Comments
sania urooj
on 12 Feb 2021
Hey ! can you please tell me how to read mat files with folder label instead of images?
sania urooj
on 12 Feb 2021
I am merging mat files using the given code but need to concentenate labels into a single file. kindly help.
D = 'D:folder\"
S = dir(fullfile(D,'*.mat'));
for k = 1:numel(S)
F = fullfile(D,S(k).name);
C = struct2cell(load(F));
S(k).data = C{1};
end
M = vertcat(S.data);
save(fullfile(D,'merged.mat'),'M')
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!