Shadow removal in aerial images

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 ?

 Risposta accettata

Shashank Gupta
Shashank Gupta il 30 Set 2019

1 voto

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
Moreover,
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.

3 Commenti

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.
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.
Regards.
Thank you again Sir. I'll give it a try and let you know.

Accedi per commentare.

Più risposte (1)

Asma Semche
Asma Semche il 20 Set 2020

0 voti

Hello,
My comment is more like a question itself. Can you please tell me if you found a successful method for shadow removal ? As I need this is a pre-processing step too.

Community Treasure Hunt

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

Start Hunting!

Translated by