Color image segmentation is probably the most important task in image analysis and understanding. In this paper, we present a novel approach to segment color images by integrating region clustering result with edge detection result. In contrast to existing region-based clustering method, we do not cluster all pixels in an image at one time. We divide clustering process into two steps. First we only cluster those reliable pixels, whose colors are not affected by shadow or highlight, to get more reasonable initial clustering results. Then we cluster left unreliable pixels into classes obtained in previous step or new classes. To avoid over-segmenting an image, edge detection result and spatial information are utilized to merge some neighboring regions, a significant part of whose common boundary consists of weak edges, together as a whole. Experimental results demonstrate the efficacy of our algorithm to segment color images without any prior knowledge.