Color constancy is of important for many computer vision applications, such as image classification, color object recognition, object tracking and so on. But unlike the human visual system, imaging device cannot be able to compute color constant descriptors which do not vary with the color of the illuminant, so solving color constancy problem is necessary. In the calculation of color constancy, illuminant estimation is the key. Because grey surfaces can perfectly reflect the color of the scene illumination, many methods have been proposed to identify grey surfaces to estimate the illuminant. But they either rely on the camera’s parameters, lacking universality, or work inaccurate in worse conditions. In order to solve these problems, in this paper, an iterative method is proposed. The quality of the proposed method is tested and compared to the previous color constancy methods on the Macbeth Chart and two data sets of synthetic and real images. Through MATLAB simulation, experimental pictures and quantitative data for performance evaluation were gotten. The simulated results show that the proposed algorithm is accurate and efficient in identification of the grey surfaces, even in worse condition. And it performs well in color constancy computation on both synthetic and real images.