How to mask pixels of certain ndvi values?
4 views (last 30 days)
Show older comments
I am using following matlab code to divide the parcels into cropland and non cropland
if mean(parcel_ndvi(idx == 1)) > mean(parcel_ndvi(idx == 2))
cropland = 1;
noncropland = 2;
else
cropland = 2;
noncropland = 1;
end
mask = idx == cropland;
now I want to mask only those pixels within cropland whose ndvi values are greater than 0.4. I request you to please suggest me how to create the said mask. I would appreciate your kind help.
Devendra
0 Comments
Accepted Answer
DGM
on 15 Apr 2024
Here's my guess.
% idx is apparently some sort of label array where the labels are unknown
% so this simply figures out which label corresponds to which class
if mean(parcel_ndvi(idx == 1)) > mean(parcel_ndvi(idx == 2))
croplandidx = 1;
noncroplandidx = 2;
else
croplandidx = 2;
noncroplandidx = 1;
end
% a logical mask of cropland
cropmask = idx == croplandidx;
% a logical mask of cropland with NDVI > 0.4
hi_ndvi_cropmask = cropmask & (parcel_ndvi > 0.4);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!