addendum Re: working with images (PIL ?)
Ken Starks
straton at lampsacos.demon.co.uk
Sat May 17 21:24:49 EDT 2008
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)
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