how to solve too many arguments error?

5 views (last 30 days)
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

Accepted Answer

Guillaume
Guillaume on 8 Oct 2016
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');
  2 Comments
hardeep thethi
hardeep thethi on 8 Oct 2016
your first option worked for me. the imshowpair brings an error- Undefined function or method 'imshowpair' for input arguments of type 'uint8'. what if i want the two images to appear in one axis since one is transformation of other is it possible and how?
Guillaume
Guillaume on 8 Oct 2016
You need the imaging toolbox for imshowpair.
As far as I know, you can only have one image per axis. If both images are the same height, you can always do:
imshow([image1, image2])
to have them side by side.

Sign in to comment.

More Answers (1)

Kishore Kumar
Kishore Kumar on 8 Oct 2016
if true
% code
X1 = image;
X2 = image2;
subplot(1,2,1), imshow(X1,map1)
subplot(1,2,2), imshow(X2,map2)
end
  1 Comment
hardeep thethi
hardeep thethi on 8 Oct 2016
hi thanks for taking time to answer, but the code is giving me error of -undefined function or variable 'map1'.

Sign in to comment.

Categories

Find more on Images 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!