How to mask pixels of certain ndvi values?

2 Ansichten (letzte 30 Tage)
Devendra
Devendra am 14 Apr. 2024
Kommentiert: Devendra am 15 Apr. 2024
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

Akzeptierte Antwort

DGM
DGM am 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);
  1 Kommentar
Devendra
Devendra am 15 Apr. 2024
Thanks a lot for your kind help. I appreciate your kind cooperation and support.
Deva

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Author Block Masks finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by