MATLAB: How to change file name and convert the file

convertfilenameimageMATLABproessingresizergb2graysave

Hello,
I have written (borrowed from another user) a very simple code to open a file, resize it, convert to grayscale then save it back into my with a new format and name.
I1=imread('D0159.jpg')
I2 = imresize(I1,[256 256]);
In=rgb2gray(I2)
figure; imshow(In)
imwrite(In,'CottonFiber0016.png')
What I would like to do is automate this. I have seen other people do similar, however I can not make it work. I have a lot of files in a folder and I need them to open, convert and save as new name and autoincrement the number at the end of the file name. You can see I stopped at 16 because I realized there must be a faster way.
Thanks for your help

Best Answer

S = dir('*.jpg');
for k = 1:numel(S)
im = imread(S(k).name);
im = imresize(im,[256,256]);
im = rgb2gray(im);
fn = sprintf('CottonFiber%04d.png',k);
imwrite(im,fn)
end
See also: