Color constancy is an example of subjective constancy and a feature of the human color perception system which ensures that the perceived color of objects remains relatively constant under varying illumination conditions. A green apple for instance looks green to us at midday, when the main illumination is white sunlight, and also at sunset, when the main illumination is red. This helps us identify objects.
Color vision is a process by which organisms and machines are able to distinguish objects based on the different wavelengths of light reflected, transmitted, or emitted by the object. In humans, light is detected by the eye using two types of photoreceptors, cones and rods, which send signals to the visual cortex, which in turn processes those sensations into a subjective perception of color. Color constancy is a process that allows the brain to recognize a familiar object as being a consistent color regardless of the amount or wavelengths of light reflecting from it at a given moment.
The physiological basis for color constancy is thought to involve specialized neurons in the primary visual cortex that compute local ratios of cone activity, which is the same calculation that Land's retinex algorithm uses to achieve color constancy. These specialized cells are called double-opponent cells because they compute both color opponency and spatial opponency. Double-opponent cells were first described by Nigel Daw in the goldfish retina. There was considerable debate about the existence of these cells in the primate visual system; their existence was eventually proven using reverse-correlation receptive field mapping and special stimuli that selectively activate single cone classes at a time, so-called "cone-isolating" stimuli.
Color constancy works only if the incident illumination contains a range of wavelengths. The different cone cells of the eye register different but overlapping ranges of wavelengths of the light reflected by every object in the scene. From this information, the visual system attempts to determine the approximate composition of the illuminating light. This illumination is then discounted in order to obtain the object's "true color" or reflectance: the wavelengths of light the object reflects. This reflectance then largely determines the perceived color.
The effect was described in 1971 by Edwin H. Land, who formulated "retinex theory" to explain it. The word "retinex" is a portmanteau formed from "retina" and "cortex", suggesting that both the eye and the brain are involved in the processing.
The effect can be experimentally demonstrated as follows. A display called a "Mondrian" (after Piet Mondrian whose paintings are similar) consisting of numerous colored patches is shown to a person. The display is illuminated by three white lights, one projected through a red filter, one projected through a green filter, and one projected through a blue filter. The person is asked to adjust the intensity of the lights so that a particular patch in the display appears white. The experimenter then measures the intensities of red, green, and blue light reflected from this white-appearing patch. Then the experimenter asks the person to identify the color of a neighboring patch, which, for example, appears green. Then the experimenter adjusts the lights so that the intensities of red, blue, and green light reflected from the green patch are the same as were originally measured from the white patch. The person shows color constancy in that the green patch continues to appear green, the white patch continues to appear white, and all the remaining patches continue to have their original colors.
Color constancy is a desirable feature of computer vision, and many algorithms have been developed for this purpose. These include several retinex algorithms.  These algorithms receive as input the red/green/blue values of each pixel of the image and attempt to estimate the reflectances of each point. One such algorithm operates as follows: the maximal red value rmax of all pixels is determined, and also the maximal green value gmax and the maximal blue value bmax. Assuming that the scene contains objects which reflect all red light, and (other) objects which reflect all green light and still others which reflect all blue light, one can then deduce that the illuminating light source is described by (rmax, gmax, bmax). For each pixel with values (r, g, b) its reflectance is estimated as (r/rmax, g/gmax, b/bmax). The original retinex algorithm proposed by Land and McCann uses a localized version of this principle.
Although retinex models are still widely used in computer vision, actual human color perception has been shown to be more complex.
Here "Reprinted in McCann" refers to McCann, M., ed. 1993. Edwin H. Land's Essays. Springfield, Va.: Society for Imaging Science and Technology.