I spontaniously would think you could split your image into the RGB channels and maybe also make another copy of the image as a grey scale. Then I would divide my Image into a grid of equal squares and measure the intensity variation within each square. Or instead of squares you could try to extract features (objects) and test for intensity variation.
What software package do you use? In imageJ you have the "split channel" procedure which gives you three separate images. But you don't even have to do so in order to extract the color component of each pixel.
Extract the intensities as an array or vector, something like Pixel{x,y}{R,G,B} for each pixel => Array(R), Array(G), Array(B), or better a 2-D Array (which is not supported in imageJ). Then you could make a statistics for the variance within each patch - something like var{R,G,B} (sorry, I am not familiar with the exact notation).
In 32-bit color images you should be able to extract 2^(32/3)=256 intensity values for each color component R,G, and B.