change size and format of images

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

 Accepted Answer

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

what about imresize function with bicubic option, can we say it is the less looses of information
It's going to depend on your definition of 'loosing information'. If you care about the **exact** value of the pixels, then I'd say 'nearest' is the less lossy, but the visual quality of the final image will probably be a lot better. 'bicubic' is going to give you the best looking image but will change a lot more pixels.
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?
Is there any paper prove that "nearest" option is better than "bicubic"
Salma comments to Image Analyst:
yes, exactly I want to accelerate the training process

Sign in to comment.

More Answers (0)

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!