The extraction of high-level color descriptors is an increasingly important problem, as these descriptions often provide links to image content. When combined with image segmentation, color naming can be used to select objects by color, describe the appearance of the image, and generate semantic annotations. This paper presents a computational model for color categorization and naming and extraction of color composition. In this paper, we start from the National Bureau of Standards' recommendation for color names, and through subjective experiments, we develop our color vocabulary and syntax. To assign a color name from the vocabulary to an arbitrary input color, we then design a perceptually based color-naming metric. The proposed algorithm follows relevant neurophysiological findings and studies on human color categorization. Finally, we extend the algorithm and develop a scheme for extracting the color composition of a complex image. According to our results, the proposed method identifies known color regions in different color spaces accurately, the color names assigned to randomly selected colors agree with human judgments, and the description of the color composition of complex scenes is consistent with human observations.