addendum Re: working with images (PIL ?)

Ken Starks straton at lampsacos.demon.co.uk
Sun May 18 08:05:32 EDT 2008


Oops. I meant:

WhiteArea=Result.histogram()[255]

of course, not

WhiteArea=Result.histogram()[0]

Ken Starks wrote:
> As others have said, PIL has the 'histogram' method to do most of the 
> work. However, as histogram works on each band separately, you have
> a bit of preliminary programming first to combine them.
> 
> The ImageChops darker method is one easy-to-understand way (done twice),
> but there are lots of alternatives, I am sure.
> 
> 
> # ------------------------------------
> 
> import Image
> import ImageChops
> 
> Im = Image.open("\\\\server\\vol\\temp\\image.jpg")
> R,G,B = Im.split()
> 
> Result=ImageChops.darker(R,G)
> Result=ImageChops.darker(Result,B)
> 

#### Mistake here:

> WhiteArea=Result.histogram()[0]

> TotalArea=Im.size[0] * Im.size[1]
> PercentageWhite = (WhiteArea * 100.0)/TotalArea
> 
> 
> 
> 
> 
> Poppy wrote:
>> I've put together some code to demonstrate what my goal is though 
>> looping pixel by pixel it's rather slow.
>>
>> import Image
>>
>> def check_whitespace():
>>     im = Image.open("\\\\server\\vol\\temp\\image.jpg")
>>
>>     size = im.size
>>
>>     i = 0
>>     whitePixCount = 0
>>     while i in range(size[1]):
>>         j = 0
>>         while j in range(size[0]):
>>             p1 = im.getpixel((j,i))
>>             if p1 == (255, 255, 255):
>>                 whitePixCount = whitePixCount + 1
>>                 if whitePixCount >= 492804:  ## ((image dimensions 
>> 1404 x 1404) / 4) 25%
>>                     return "image no good"
>>             j = j + 1
>>         i = i + 1
>>
>>     print whitePixCount
>>
>>     return "image is good"
>>
>> print check_whitespace()
>>
>>
>> "Poppy" <znfmail-pythonlang at yahoo.com> wrote in message news:...
>>> I need to write a program to examine images (JPG) and determine how 
>>> much area is whitespace. We need to throw a returned image out if too 
>>> much of it is whitespace from the dataset we're working with. I've 
>>> been examining the Python Image Library and can not determine if it 
>>> offers the needed functionality. Does anyone have suggestions of 
>>> other image libraries I should be looking at it, or if PIL can do 
>>> what I need?
>>>
>>
>>



More information about the Python-list mailing list