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" <[EMAIL PROTECTED]> 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?



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to