The Retinex Theory first introduced by Edwin Land forty years ago has been widely used for a range of applications. It was first introduced as a model of our own visual processing but has since been used to perform a range of image processing tasks including illuminant correction, dynamic range compression, and gamut mapping. In this paper we show how the theory can be extended to perform yet another image processing task: that of removing shadows from images. Our method is founded on a simple modification to the original, path based retinex computation such that we incorporate information about the location of shadow edges in an image. We demonstrate that when the location of shadow edges is known the algorithm is able to remove shadows effectively. We also set forth a method for the automatic location of shadow edges which makes use of a 1-d illumination invariant image proposed in previous work . In this case the location of shadow edges is imperfect but we show that even so, the algorithm does a good job of removing the shadows.
G. D. Finlayson, S. D. Hordley, M.S. Drew, "Removing Shadows From Images using Retinex" in Proc. IS&T 10th Color and Imaging Conf., 2002, pp 73 - 79, https://doi.org/10.2352/CIC.2002.10.1.art00016