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