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

조회 수: 3 (최근 30일)
Abdulaziz Alotaibi
Abdulaziz Alotaibi 2021년 2월 18일
편집: KALYAN ACHARJYA 2021년 2월 18일
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)

채택된 답변

KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 2월 18일
편집: KALYAN ACHARJYA 2021년 2월 18일
Steps:
  • Call the images one by one
  • Do resize
  • Save in the different folder
Later use those folder images (resize images) in CNN
  댓글 수: 2
Abdulaziz Alotaibi
Abdulaziz Alotaibi 2021년 2월 18일
편집: Abdulaziz Alotaibi 2021년 2월 18일
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 2021년 2월 18일
편집: KALYAN ACHARJYA 2021년 2월 18일
:) Welcome

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by