MATLAB Answers

Shadow removal in aerial images

12 views (last 30 days)
I'm working on detecting animals from aerial images. As part of pre-processing, I want to remove the shadow of animals in the first place. Is there any techniques for that ? I have attached a smaple image for the reference. Any guidance ?


Sign in to comment.

Accepted Answer

Shashank Gupta
Shashank Gupta on 30 Sep 2019
Hi Divya,
I would suggest to first create a mask of shadow, now there is a lot of different methods like morphological operations have been used to generate the Shadow mask and even in some cases these operations can remove shadows as well, it solely depends on the type of images used.
Check the morphological operation function in MATLAB
If you are dealing with video, then one of the simple but very efficient method of shadow removing is to Create a Background subtractor, these uses Morphological operations, Gaussian and median blur and thresholding. Make sure that the Background images contains shadow, thus it can be removed.
If you are only dealing with images, mask can still be generated by adaptive thresholding then removing shadows is relatively difficult, but it can still be achieved using gradient-integration approach, which now-a-days used for several image processing problems. Basic idea is to compute the spatial derivative for all color channels, use the shadow boundaries from the mask to generate a weight mask, now multiplies this weight mask with the gradient image this reduce the shadow edges, integrate the gradient images to get the shadow removed image.
In fact, you can also try these approaches using different color model HSV can be a good for a try.
further more there are some paper you may refer to as well
I hope it helps.


S DIVYA MEENA on 3 Oct 2019
Thank you so much for your response Sir. I'm working on aerial images and not on videos. So, I started with the first option (morphological operation) for removing the shadow. however, it dint help me much. or may be I was not right in doing it. And for the second option (gradient-integration approach) you gave me, I totally have no idea of it. Can ypu please point me to any sample codes for shadow removal so that I start with ? Thanks much for your time.
Shashank Gupta
Shashank Gupta on 4 Oct 2019
Hi Divya,
May be this github repo can give you a good headstart. Although I haven't tried it by myself but still worth giving a shot.
S DIVYA MEENA on 12 Oct 2019
Thank you again Sir. I'll give it a try and let you know.

Sign in to comment.

More Answers (0)