MATLAB: How to solve too many arguments error

display imagesimage processingImage Processing Toolbox

when i try to display multiple images using the formula below. i get error of too many arguments. when i execute the first statement , it gives me error. what am i doing wrong? the code is as follows:
if true
% code
[X1,map1]= image; ///image variable contains original jpg image.
[X2,map2]= image2; /// image2 variable contains transformed image.
subplot(1,2,1), imshow(X1,map1)
subplot(1,2,2), imshow(X2,map2)
end

Best Answer

Note: it is recommended that you do not use image as a variable name since it's already the name of a function in matlab.
The syntax [X, map] = is normally used in conjuction with imread to load an indexed image (rgb or grayscale images don't have an associated colour map), as in:
[X, map] = imread('someindexedimage.bmp');
Now, since the jpg format does not support indexed images, you'd never use that syntax for a jpg image.
Furthermore, the syntax
[something, something] = someothervariable;
would never be valid, since you're trying to assign a single variable into two variables.
In the end, if image and image2 are truly jpg images, then to display them simply:
subplot(1, 2, 1), imshow(image); %would be better called image1
subplot(1, 2, 2), imshow(image2);
Or you could do:
imshowpair(image, image2, 'montage');