Ho do I change my dataset of images to the same size?

3 vues (au cours des 30 derniers jours)
Abdulaziz Alotaibi
Abdulaziz Alotaibi le 18 Fév 2021
Hello everyone,
I'm building a CNN model, but first I would like to control the images saiz
since all the dataset images aize are 40*24*1 , and I would like to change it to like 100*60*1
How do I do that ?
this is my code:
clear;
clc;
outputFolder = fullfile("binary_dataset");
rootFolder = fullfile(outputFolder, "Categories");
categories = {'Anomaly','No-Anomaly'}; % names of the folders
imds = imageDatastore(fullfile(rootFolder,categories),'LabelSource','foldernames');
tbl = countEachLabel(imds);
[imdsTrain,imdsValidation] = splitEachLabel(imds, 0.8, 'randomize');
inputSize = [40 24 1];
numClasses = 2;
layers = [
imageInputLayer(inputSize)
convolution2dLayer(5,20,'Padding',1)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(5,20,'Padding',1)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(5,20,'Padding',1)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
options = trainingOptions('adam', ...
'MaxEpochs',1, ...
'ValidationData',imdsValidation, ...
'ValidationFrequency',30, ...
'Verbose',false, ...
'Plots','training-progress');
net = trainNetwork(imdsTrain,layers,options);
YPred = classify(net,imdsValidation);
YValidation = imdsValidation.Labels;
accuracy = mean(YPred == YValidation)

Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 18 Fév 2021
Modifié(e) : KALYAN ACHARJYA le 18 Fév 2021
Steps:
  • Call the images one by one
  • Do resize
  • Save in the different folder
Later use those folder images (resize images) in CNN
  2 commentaires
Abdulaziz Alotaibi
Abdulaziz Alotaibi le 18 Fév 2021
Modifié(e) : Abdulaziz Alotaibi le 18 Fév 2021
I Used the following Code and worked for me!
Thank you.
srcFiles = dir('E:\img\*.jpg'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('E:\img\',srcFiles(i).name);
im = imread(filename);
k=imresize(im,[300,300]);
newfilename=strcat('E:\img\',srcFiles(i).name);
imwrite(k,newfilename,'jpg');
end
I got this code from here:
https://www.mathworks.com/matlabcentral/answers/314902-how-to-store-resize-images-into-new-directory
KALYAN ACHARJYA
KALYAN ACHARJYA le 18 Fév 2021
Modifié(e) : KALYAN ACHARJYA le 18 Fév 2021
:) Welcome

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by