How to save concatenated images in MATLAB?

Illustration
Nehemiah - 2020-10-01T11:01:43+00:00
Question: How to save concatenated images in MATLAB?

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);

Expert Answer

Profile picture of John Michell John Michell answered . 2025-11-20

You can save the image without using the imagesc()” function as follows:

new_name3 = strcat(f_name_image, '\', kk, '_', num2str(ff), '_pair.webp');
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.webp');
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.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!