Read image and save it using imwrite?

14 views (last 30 days)
Hello! I read pictures using imread and then try to write it to folder c:\result. The name of the images should be same than readed image, but I like to add index and remove part of the name. So I read image image00123_big.bmp and I like to save image to name image00123_small_'index_number'.bmp. How can I do that?

Accepted Answer

ChristianW
ChristianW on 14 Mar 2013
Input_folder = '.\'; % folder with big images
Output_folder = 'c:\result';
D = dir([Input_folder 'image*_big.bmp']);
Inputs = {D.name}';
Outputs = Inputs; % preallocate
for k = 1:length(Inputs)
X = imread([Input_folder Inputs{k}]);
idx = k; % index number
Outputs{k} = regexprep(Outputs{k}, 'big', ['small_' num2str(idx)]);
imwrite(X, [Output_folder Outputs{k}],'bmp')
end

More Answers (1)

Alessandro
Alessandro on 14 Mar 2013
Edited: Alessandro on 15 Mar 2013
id = 5;
folder = 'c:\result\'
newimagename = [folder 'image00123_small_' num2str(id) '.bmp'];
imwrite(image,newimagename)
  4 Comments
Jan
Jan on 14 Mar 2013
Do not shadow the important Matlab function path by a local variable. This can leed to very strange effects e.g. during debugging.
Image Analyst
Image Analyst on 14 Mar 2013
Use "folder" instead of "path" for a variable name. Don't use "dir" either - it's a built in function.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!