An automated, computerized method for processing an image, comprising the steps of: providing an image file depicting an image, in a computer memory; collecting colors from tokens in the image, to obtain a list of colors, a token being a connected image region comprising pixels of equal color within the noise levels of a recording device used to record the image; determining a normal for a plane in a space of logarithmic color band values from the list of colors, the direction of the normal corresponding to a color change which is due to an illumination change; projecting logarithmic color band values from the color list obtained from the tokens onto the plane of the previous step to obtain log chromaticity coordinates, wherein the log chromaticity coordinates are the coordinates in the plane; clustering the log chromaticity coordinates to provide clusters of log chromaticity coordinates; calculating a center of each cluster to provide a list of cluster centers; generating a list of colors from the pixels of the image; projecting the colors from the list of colors from the pixels in log chromaticity space onto said plane along the normal of the plane determined from the color list obtained from the tokens to generate log chromaticity coordinates for the colors of the pixels; assigning the log chromaticity coordinates for the colors of the pixels to clusters according to the nearest cluster center from the list of cluster centers; and identifying regions of uniform reflectance in the image as a function of the clusters of log chromaticity coordinates as determined in the previous step by merging all the pixels corresponding to the log chromaticity coordinates belonging to a single cluster into a single region, wherein a region of uniform reflectance is defined as a region encompassing a single material. providing an image file depicting an image, in a computer memory; collecting colors from tokens in the image, to obtain a list of colors, a token being a connected image region comprising pixels of equal color within the noise levels of a recording device used to record the image; determining a normal for a plane in a space of logarithmic color band values from the list of colors, the direction of the normal corresponding to a color change which is due to an illumination change; projecting logarithmic color band values from the color list obtained from the tokens onto the plane of the previous step to obtain log chromaticity coordinates, wherein the log chromaticity coordinates are the coordinates in the plane; clustering the log chromaticity coordinates to provide clusters of log chromaticity coordinates; calculating a center of each cluster to provide a list of cluster centers; generating a list of colors from the pixels of the image; projecting the colors from the list of colors from the pixels in log chromaticity space onto said plane along the normal of the plane determined from the color list obtained from the tokens to generate log chromaticity coordinates for the colors of the pixels; assigning the log chromaticity coordinates for the colors of the pixels to clusters according to the nearest cluster center from the list of cluster centers; and identifying regions of uniform reflectance in the image as a function of the clusters of log chromaticity coordinates as determined in the previous step by merging all the pixels corresponding to the log chromaticity coordinates belonging to a single cluster into a single region, wherein a region of uniform reflectance is defined as a region encompassing a single material.