MATLAB Answers

multispectral satellite image processing?

36 views (last 30 days)
Gamliel Roos
Gamliel Roos on 5 May 2019
Commented: sanjay singh on 7 Dec 2019
Hi i have a multispectral satellite image with 12 band and his size is 4195*3692.
How can i open the differents band and print an RGB image and also make vegetation indice with the different bands?
Thanks for your help!


Show 2 older comments
Shunichi Kusano
Shunichi Kusano on 24 May 2019
Sorry for my late reply.
OK, you have a tiff file. ENP file is a pyramid file for accelerating the image display, which is not image data.
You can open it by imread command, normally. Have you tried it?
After reading the file, you will have a array with 4195x3692x12.
img = imread('your_image.tif');
size(img) % 4195x3692x12
You can extract single band image:
lyri = 1; % depending on the layer index you want
img1 = img(:,:,lyri);
You need to know the layer index you need. The band information would be available in the web. (For example, Landsat-8 has 11 bands (layers). The band information is here.)
If you want to calculate vegetation indices (NDVI?), you need two layers, "red" band and "near infrared" band. (In the case of Landsat-8, they are 4th and 5th band, respectively)
% this is the example for Landsat-8
red = img(:,:,4); % red band
nir = img(:,:,5); % near infrared band
Finally, NDVI is computed according to the definition:
ndvi = (nir - red) / (nir + red);
hope this helps.
sanjay singh
sanjay singh on 7 Dec 2019
after calculating NDVI, how can i export the NDVI image into ENVI for further processing?

Sign in to comment.

Answers (0)

Sign in to answer this question.