How to mask pixels of certain ndvi values?
2 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
Categories
Find more on Author Block Masks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!