Fredrik Lundh wrote:
> looks like you could save yourself a lot of time and effort by first
> checking if you can install:
>
> http://www.pythonware.com/products/pil/
sorry, thought you'd posted this to c.l.python, and didn't see the
"import" statement at first.
I am working with PPM/PGM/PBM file formats
which have the basic format :-
> where line1= type of file(p1=PBM,p2=PGM,p3=PPM), line2=comment,
> line3=dimension of the image (x and y length),line4=maximum value of
> color( here 15 means 4 bit R,G,B data)
not really -- the 15 means that the images contain data in the range
0-15. that fits in 4 bits, but since it's a text format, it isn't
stored in 4 bits. far from it.
why are you using PPM text files? does the application your using
really require that, or is this just something you thought would make
things easier?
if you're only interested in making sure that all RGB values in an image
fits inside the 0-15 range, you can simply do:
im = Image.open(infile)
im = im.point(lambda x: x/16)
im.save(outfile)
if you insist on writing this out as a text file, replace the "save"
with a simple loop that uses the im.load() accessor. something like
this should work:
pix = im.load()
out = open(outfile, "w")
print >>out, "P2"
print >>out, "%d %d" % im.size
print >>out, "15"
for y in range(im.size[1]):
for x in range(im.size[0]):
r, g, b = pix[x, y]
print >>out, r, g, b,
print >>out
out.close()
tweak as necessary.
</F>
_______________________________________________
Image-SIG maillist - Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig