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?

3 次查看(过去 30 天)
categories = {'Cardiomegaly','Infiltration', 'No Finding'};
rootFolder = 'C:\Users\roro\Downloads\Data';
imds = imageDatastore(fullfile(rootFolder, categories), ...
'LabelSource', 'foldernames');

采纳的回答

Raunak Gupta
Raunak Gupta 2020-6-24
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 个评论
sania urooj
sania urooj 2021-2-12
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')

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by