I'm trying to classify some area in northern Mongolia using Landsat 8 satellite images from 2013. Since the recordings were made in winter, the sun is very low at the acquisition time. Therefore there are very long and dark shadows from the mountains.

I'm able to identify this shadow using a DEM, as described in this Question: How to Remove Topographic Effects Like Shadows from Landsat Image

How can I perform a supervised classification for the clipped shadowed area? Is it possibile to enhance this areas? I tried some band ratios, but I don't know which is the best for my task.

In this image you can see that there are some vegetated areas in the dark shadows, but it is not possible to classify them.

example for some shadowed areas

  • 2
    Have you converted this to reflectance? What method did you use?
    – Aaron
    Commented Oct 22, 2014 at 15:17
  • 2
    No I didn't. I used a layer stack of band 3,4,5 and did the Maximum Likelihood-Classification in ArcGIS. For better interpretation of the area, I have used NDVI and some false color compositions.
    – dan_ke
    Commented Oct 22, 2014 at 16:30
  • 2
    This is why at-sensor reflectance and orthorectification are important preprocessing steps. Commented Oct 22, 2014 at 18:08
  • Did you try any Topographic correction like C-correction or Minnaert?, Please if something like this may help. I'd provide you with further detail on how to achieve this. Commented Oct 23, 2014 at 13:06
  • 2
    DN to TOA will not remove topographic effect. Topographic correction (Topographic normalization) will minimize, not eliminate, shadow effect and this will be particularly critical in your case. I recommend reading this for a general view of the problem and possible approaches. Commented Nov 6, 2014 at 0:32

3 Answers 3


Actually, it is not granted that you will be able to recover some information from the shadowed areas. However, I once dealt successfully with (cloud) shadows in a hyperspectral image. The aim was simple land cover classification. Here's what I did. I'm not sure how this would work with Landsat images, but since it is very simple you should give it a try.

Once I detected the shadow I simply performed an histogram matching of the shadowed areas to the rest of the image. Be careful since by doing this you assume that the spectral signal in shadowed areas and the one in illuminated areas belong more or less to the same classes (~ same distributions). Although this is a very simple and simplistic method, I was able to correctly classify shadowed pixels at the cost of some small shadow border errors. Maybe you can stack all possible band ratios to the image and renormalize all the features before classification, this could even further reduce shadow effects. You probably have to use a robust classifier then.

EDIT: Additionally you could normalize each pixel to have unit norm (by looking at each pixel as a spectral vector). This should also help in removing shadow effects.


I would suggest what Stella said below. You can simply classify it as shadow so it doesn't hurt your accuracy. Of course make sure you have enough areas of interest or training areas of the shadow to make sure that it is all classified. If you have to give a presentation, you can comment that most of the shadow areas are uniform with the near side part of the mountain meaning that if the side of the mountain that the sun is hitting is reflecting vegetative properties then the other side would as well if the sun were hitting it. Hope this helps. I have had to do this and if you do not classify the shadow or apply corrections to it, it will be classified the same as water as they have spectral similarities.


I would suggest classifying the shadows separately from the rest of the image. If you can find a distinct shadow class, mask out the "shadow" pixels and then stretch them and reclassify (be careful how you stretch). I am not an expert in image classification, but I would definitely validate any results with other imagery.

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.