How to save concatenated images in MATLAB?
4 views (last 30 days)
Show older comments
SHAUROV DAS
on 29 Jul 2020
Answered: Sourabh Kondapaka
on 10 Aug 2020
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
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.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!