For those who are looking for publication along with the source code of described algorithm, you might be interested by this paper: "Single-Image Shadow Detection and Removal using Paired Regions" by Ruiqi Guo, Qieyun Dai and Derek Hoiem.
They describe a method which works quite well and may be a very good start to implement your shadow-removing algorithm using OpenCV.
I found the source code here, but for posterity and to prevent possibly dead links in the future (I have met many), I also uploaded it on the Internet Archive.