This study proposes a novel shadow compensation and illumination normalization method under uncontrolled light conditions. First, we decompose the face image into two images based on the Lambertian theory, which corresponds to the large- and small-scale features, respectively. Then, the threshold minimum-and-maximum filter on the small-scale features to smooth the shadow edge is applied. After that, the robust Principal Component Analysis and some normalization methods are used to remove the shadow and normalize the face image on the large-scale features. In the end, the normalized face image is obtained by combining both results from the large- and small-scale features. Our main contribution is that a more reliable shadow compensation approach is found, which can get a better normalized face image. Experiments on the Extended Yale B, CMU-PIE and FRGC 2.0 (Face Recognition Grand Challenge) face datasets show that not only the recognition performance is significantly improved, but also much better visual quality is achieved.