area of water body in a grey color image

3 views (last 30 days)
Poornima Posa
Poornima Posa on 21 Oct 2021
Answered: yanqi liu on 27 Oct 2021
how to get area of water body in one band of a landsat image
  2 Comments
Poornima Posa
Poornima Posa on 21 Oct 2021
i have band 4 of a landsat data, i need to find area of waterbody in that band

Sign in to comment.

Answers (2)

Bjorn Gustavsson
Bjorn Gustavsson on 21 Oct 2021
If the water-surface are flatter than the not-water-surfaces (seems reasonable assumption for standard optical satellite imaging without additional information), then you might try to look after regions where the magnitude of the gradients are small:
Im = double(your_one_band_landsat_image);
[dIdx,dIdy] = gradient(Im);
d2I = del2(Im);
subplot(1,3,2)
imagesc(Im)
subplot(1,3,1)
imagesc(d2I)
subplot(1,3,3)
imagesc(abs(dIdx)+abs(dIdy)) % other measures of flatness are also available
HTH

yanqi liu
yanqi liu on 27 Oct 2021
sir,may be upload some image sample to develop.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!