Colour sampling

Dave Angel davea at ieee.org
Thu Oct 15 23:15:02 EDT 2009


Anthra Norell wrote:
> <div class="moz-text-flowed" style="font-family: -moz-fixed">Dylan 
> Palmboom wrote:
>> Does anyone know what python libraries are available to do the 
>> following:
>>  
>> 1. I would like to take a photograph of an object with a colour. In this
>> case, it is a sheet of sponge.
>> 2. Feed this image into a function in a python library and let the 
>> function
>> "automatically scan" this image's
>>     pixel colours, and return an average of all the pixels' colours 
>> in the
>> image.
>> 3. I could then use the rgb values to set a colour swatch for the 
>> object's
>> colour.
>>  
>> Please let me know if you have any ideas. It would be appreciated.
>> In the meantime, I will search Google and see what I can find.
>>  
>> Thanks
>>  
>>
>>   
> image.histogram () returns a list of pixel counts: red: index 0 - 255, 
> green: 256 - 511, blue: 512 - 767. Figure out the median for each 
> color and there you go.
>   This would obviously not work well with pictures containing a wide 
> range of colors, such as a landscape, but then color-averaging a 
> colorful picture wouldn't make much sense anyway. You seem to be 
> working with uniformly colored objects for which the method should 
> work well, as you'll get a narrow range of values with high counts in 
> each color band.
>
> Frederic
>
> </div>
>
You should look at PIL, the Python Imaging Library.  Or if you're 
writing a GUI program, there's undoubtedly a jpeg decoder built into 
whatever library you're using.  For example, if you're using wxPython, 
you might want to look at wx.Image, and wx.JPEGHandler.

PIL --  http://www.pythonware.com/products/pil/

wxPython  --  http://www.wxpython.org/

DaveA



More information about the Python-list mailing list