Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Read image and save it using imwrite?

Asked by Teemu

Teemu (view profile)

on 14 Mar 2013

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?

0 Comments

Teemu

Teemu (view profile)

Products

No products are associated with this question.

2 Answers

Answer by ChristianW

ChristianW (view profile)

on 14 Mar 2013
Accepted answer
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

0 Comments

ChristianW

ChristianW (view profile)

Answer by Alessandro

Alessandro (view profile)

on 14 Mar 2013
Edited by Alessandro

Alessandro (view profile)

on 15 Mar 2013
id = 5;
folder = 'c:\result\'
newimagename = [folder 'image00123_small_' num2str(id) '.bmp'];
imwrite(image,newimagename)

4 Comments

Alessandro

Alessandro (view profile)

on 14 Mar 2013
strid = regexp(readimagename,'\d','match')
id = str2num(strid(1));
folder = 'c:\result\'
newimagename = [folder 'image00123_small_' num2str(id) '.bmp'];
imwrite(image,newimagename)
Jan Simon

Jan Simon (view profile)

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 (view profile)

on 14 Mar 2013

Use "folder" instead of "path" for a variable name. Don't use "dir" either - it's a built in function.

Alessandro

Alessandro (view profile)

Contact us