1. 16 bits manipulation: PIL supports (unlike most image processing programs) 16 bits TIF. But I do not know if there is a 16x3 colour format. 2. For a quick image enhancement look at enhacer.py that comes with the package. It may be instructive to look at the other scripts in the same directory.
Nadav. -----Original Message----- From: [EMAIL PROTECTED] on behalf of Victor Reijs Sent: Wed 24-Aug-05 15:03 To: [email protected] Cc: Subject: [Image-SIG] modes in Image package Hello all of you, I was wondering if it is possible with the Image package to use a mode like RGB but with 16 bits (or more) per each band? I want to do some manipulations with the picture (and I could use the method proposed by Nadav: fromstring/tostring), but I had hoped I could be using only Image package. The program I now use can be see below. Thanks for your feedback. All the best, Victor ######## import Image import ImageWin #calculate a gamma function def detergamma(x): return 255*math.pow(float(x)/255,gamma) #display picture def displaypic(pix,titletext): w2=ImageWin.ImageWindow(pix,title=titletext) w2.mainloop() # this will block until the window is closed return #read picture imbegin = Image.open("C:\\Documents and Settings\\vreijs\\My Documents\\my projects\\colorcard\\bm-IFRAO_1.jpg") displaypic(imbegin,"Original") # just a sample color matrix (I kept the off-set zero (the last # 'column' with zeros) colormat = (2,-1.06,0.08, 0, -0.01,1.11,-0.09, 0, 0.06,-0.22,1.25, 0) #bring picture in linear space, assume it was near sRGB #first split it in the three bands, to be able to do #different gamma on each band splitted= imbegin.split() gamma=1/0.44 Rrr=Image.eval(splitted[0], detergamma) gamma=1/0.5 Ggg=Image.eval(splitted[1], detergamma) gamma=1/0.51 Bbb=Image.eval(splitted[2], detergamma) displaypic(Rrr,"R-band") displaypic(Ggg,"G-band") displaypic(Bbb,"B-band") #make it one RGB picture combined=Image.merge("RGB",(Rrr,Ggg,Bbb)) displaypic(combined,"Combined") #do a color matrix transform converted = combined.convert("RGB", colormat) displaypic(converted,"Color converted") #bring back into sRGB space gamma=1/2.2 imend=Image.eval(converted, detergamma) displaypic(imend,"End result") imend.save("C:\\Documents and Settings\\vreijs\\My Documents\\my projects\\colorcard\\bm-IFRAO_1-optm.jpg") ######## _______________________________________________ Image-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/image-sig _______________________________________________ Image-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/image-sig
