An implementation of Graham Finlayson's invariant image algorithm in python.
References: Graham Finlayson et al. "Entropy Minimization for Shadow Removal". IJCV, 2009.
Successful cases:
Failure cases:
Note: The algorithm does not work for non-linearly reddened JPEG images.