I have a series of satellite images in 4 bands (red, green, blue and NIR). What is the easiest way to estimate what percentage of each image is covered by clouds? The image is less than 1x1 km with 3-5 m resolution.

As far as I understand, fmask does not work here (it requires more bands), but maybe there is some simple heuristic (preferably one that can be calculated just on a pixel-by-pixel basis)?

1 Answer 1


There are heuristics for cloud detection but those depend on the exact wavelength of your bands and therefore on the sensor you are using. at 3-5m rgb+nir I would look for similar sensors and available cloud detection algorithms.

RapidEye (5m, rgb+red-edge+nir) comes pretty close and has available heuristics for cloud screening - e.g. from CONABIO - rapideye-cloud-detection.

There are other publications trying to solve the issue of cloud detection with a small amount of bands, however most of them incorporate the short wave infrared bands (e.g. Hollstein et al., Fisher).

The lack of infrared bands makes the cloud screening a challenging endeavour and recent trends are trying to incorporate deep learning to solve the issue, such as Planets Amazon from Space Kaggle Challenge.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.