How to save resized image with original filename to a folder.

Illustration
waytsmith_465 - 2021-05-12T10:04:23+00:00
Question: How to save resized image with original filename to a folder.

Hi there, I am trying to save a resized (smaller) image to a folder. I am doing image classification and having the resized images would be helpful.   I would like to store the resized images into a folder called "resized" or something like that. Any thoughts? Thank you for any help you can offer.   Code below. Comments are from some of my trying to work it out myself.     clc clear all close all load('Train_AlexNet_Feature') load('Train_AlexNet_Label') Test_AlexNet_Feature=[]; BT50=[]; mkdir('New Folder') ds = imageDatastore('/Users/kimpitman/Documents/MATLAB/Vehicle/Test'); a=ds.Files; for i=1:length(a) [I,info] = readimage( ds , i); g=imresize(I,[227,227]); imshow(g) net=alexnet; net.Layers; layer='fc7'; F=activations(net,g,layer,'outputAs','rows'); Test_AlexNet_Feature=[Test_AlexNet_Feature;F]; SVMModel=fitcsvm(Train_AlexNet_Feature,Train_AlexNet_Label,'KernelFunction','Linear'); [label,score]=predict(SVMModel,Test_AlexNet_Feature); label=label; if label(i,:)=='1' display('This is BT-50') BT=info.Filename BT=string(BT); BT50=[BT50;BT]; imwrite(g,fName(i),'.png'); %srcFiles = dir('/Users/kimpitman/Documents/MATLAB/Vehicle/Test'); % the folder in which ur images exists %for i = 1 : length(srcFiles) %filename = strcat('/Users/kimpitman/Documents/MATLAB/Vehicle/Testcopiedimages',srcFiles(i).name); %im = imread(filename); %newfilename=strcat('/Users/kimpitman/Documents/MATLAB/Vehicle/Testcopiedimages',srcFiles(i).name); %imwrite(k,newfilename,'jpg'); %end %end %newfilename=ds.Files('/Users/kimpitman/Documents/MATLAB/Vehicle/Testcopiedimages',srcFiles(i).name); %imwrite(g,newfilename,'jpg'); %imwrite(g,ds); else display('This is not BT-50') BT=info.Filename BT=string(BT); BT50=[BT50;BT]; end end save('BT50') T=table(BT50,label); fname=sprintf('LinearTestMix159%s.xlsx',datestr(now, 'yyyymmddHHMM')); writetable(T,fname,'Sheet',1)

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

Try This:

% Define input folder location.
folder = '/Users/kimpitman/Documents/MATLAB/Vehicle/Test';
% Create output folder name.
outputFolder = fullfile(folder, '/resized');
% Make output folder if it exists.
if ~isfolder(outputFolder)
	mkdir(outputFolder)
end
ds = imageDatastore(folder)
% Loop over all files.
for k =length(ds.Files)
	% Get this filename.
	thisFileName = ds.Files{k};
	fprintf('Processing %s...\n', thisFileName);
	% Read in the input image.
	originalImage = imread(thisFileName);
	% Display it.
	imshow(originalImage);
	drawnow;
	% Find out just the base filename without the folder.
	[thisFolder, baseFileNameNoExt, ext] = fileparts(thisFileName);
	% Create output image by resizing....
	fprintf('   Resizing %s...\n', baseFileNameNoExt);
	resizedImage = imresize(originalImage, [227, 227]);
	% Create the output filename which will be in the output folder.
	outputFileName = fullfile(outputFolder, [baseFileNameNoExt, ext]);
	% Write the image out to the output folder.
	fprintf('   Saving %s...\n', outputFileName);
	imwrite(resizedImage, outputFileName);
end
message = sprintf('Done processing %d images', length(ds.Files))
uiwait(helpdlg(message));


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!