Clear Filters
Clear Filters

How to save concatenated images in MATLAB?

2 views (last 30 days)
I am trying to concatenate two 256x256 images and save them using imwrite. The saved image is supposed to be 256x512, but when I load the saved image, the size shows to be 343x434x3. How do I solve this?
the code I am using is:
new_name3 = strcat(f_name_image, '\', kk, '_', num2str(ff), '_pair.png');
pair = [orig_im noisy_image]; %concatenating two 256x256 images
imagesc(pair)
f = getframe(gca);
im = frame2im(f);
imwrite(im, new_name3);

Accepted Answer

Sourabh Kondapaka
Sourabh Kondapaka on 10 Aug 2020
Hi,
You can save the image without using the imagesc()” function as follows:
new_name3 = strcat(f_name_image, '\', kk, '_', num2str(ff), '_pair.png');
pair = [orig_im noisy_image]; %concatenating two 256x256 images
imwrite(pair, new_name3);
However, if you do need to use “imagesc()” function, then please do the following:
new_name3 = strcat(f_name_image, '\', kk, '_', num2str(ff), '_pair.png');
pair = [orig_im noisy_image]; %concatenating two 256x256 images
scaled_image = imagesc(pair);
imwrite(scaled_image.CData, new_name3);
The “imagesc()” function returns an “image” object. You need to extract the matrix values from the image object when writing into a file.
CData” property of the “Image” object stands for “Color Data” which is the matrix values of the concatenated image.
If you would like to learn more about the “Image object and its properties, please check here.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!