how to plot a hyperspectral image in matlab?

1 次查看(过去 30 天)
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

回答(1 个)

Wind Cloud
Wind Cloud 2014-4-3
that is easy. use this expression:imshow(X(:,:,n),[]), n is band, from 1to 191.
  2 个评论
yanjie qi
yanjie qi 2016-3-8
编辑:Walter Roberson 2016-3-8
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 2016-3-8
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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by