how to plot a hyperspectral image in matlab?

2 views (last 30 days)
Hi,
I've used these 2 lines
SIZE = [1208,307 ,191];
X = multibandread('dc.tif', SIZE, 'int16',1, 'bsq', 'ieee-le');
to read a hyperspectral image, now i how to plot/display the image on a graph? I also want to add noise to it
Thank you

Answers (1)

Wind Cloud
Wind Cloud on 3 Apr 2014
that is easy. use this expression:imshow(X(:,:,n),[]), n is band, from 1to 191.
  2 Comments
yanjie qi
yanjie qi on 8 Mar 2016
Edited: Walter Roberson on 8 Mar 2016
sir,
I want to select different bands and imshow them, I use subplot to display these pictures in an image, but there was something wrong with my code.
subplot(2,1),imshow(x(:,:,2),[]);
??? Error using ==> subplot at 188
Unknown command option.
when I use" subplot(2,2,1),imshow(x(:,:,2),[]);"this, it works. why?
Thank you
Walter Roberson
Walter Roberson on 8 Mar 2016
subplot() can take either one number such as 121, or it can take 3 numbers such as 1, 2, 1, but it cannot take two numbers. The form with a single number is not recommended. You should be using subplot in the form
subplot(M, N, k)
to choose plotting area #k out of an M x N array of plots, with the areas numbered across. So for example, subplot(2, 3, 4) would be plot #4 out of a 2 x 3 array of plots that were numbered
1 2 3
4 5 6

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!