MATLAB Answers

change size and format of images

8 views (last 30 days)
I have a medical images dataset with various sizes and formats . I want to downsample all of them into 256*256 without loosing information and change all the formats into png

  0 Comments

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 10 May 2020
Assuming all the image formats (list required!) are supported by matlab, the process for each image would be:
originalimage = imread(someimagefile);
resizedimage = imresize(originalimage, [256 256]);
imwrite(resizedimage, newfilename);
To apply that to a bunch of images, see How do I process a sequence of files.
Note that there are many image viewers that can do the conversion for you without you having to write a single line of code. For example, IrfanView has a batch conversion mode which can also resize images at the same time. All you'd have to do is select the images, turn resizing on and specify the final size and tell it to convert the images to png.
Also note:
"I want to downsample"
"without loosing information"
These two statements are incompatible. By definition, if you downsample you're voluntarily discarding information.

  5 Comments

Show 2 older comments
Image Analyst
Image Analyst on 10 May 2020
To change the format, you merely have the extension in newfilename be ".png". For example
newfilename = strrep(lower(someimagefile), '.dcm', '.png');
Why do you want to resize anyway? Are you going to plug these into a deep learning network?
Salma Hassan
Salma Hassan on 10 May 2020
Is there any paper prove that "nearest" option is better than "bicubic"
Walter Roberson
Walter Roberson on 15 May 2020
Salma comments to Image Analyst:
yes, exactly I want to accelerate the training process

Sign in to comment.

More Answers (0)