Open Modis images in a loop and apply NDVI on them

2 views (last 30 days)
Hello,
I have a 12 modis images that I want to open in a loop. and I just don't know how, I want only to work on their first and second bands ( as it is mentioned in the picture )
Also I tried to apply NDVI and I dont know why It doesn't work ( picture 2)

Answers (1)

Kevin Chng
Kevin Chng on 27 Oct 2018
Edited: Kevin Chng on 27 Oct 2018
Hi
first of all, load your information into array first, which allow you to use indexing to get their information later.
folder='E:\Matlab';
filetype='*.hdf';
f=fullfile(folder,filetype);
d=dir(f);
for i=1:numel(d);
Red(i) = hdfread(fullfile(folder,d(i).name), 'MORIS_Grid_500m_2D','Fields','sur_ref1_b01_1');
NIR(i) = hdfread(fullfile(folder,d(i).name), 'MORIS_Grid_500m_2D','Fields','sur_ref1_b02_1');
end
After the code above, now we use indexing to get the information from the array for our calculation.
for i=1:1:numel(d)
NDVI(i) = double(NIR(i)-Red(i)) ./ (double (NIR(i) + Red(i)));
end
Kindly accept my answe if they are working for you.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!