Re: float rgba list -> Image
"Charlie Clark" <[email protected]> Wed, 31 Aug 2011 17:06:37 +0200
| Newsgroups | gmane.comp.python.image |
|---|---|
| Organization | Clark Consulting & Research |
| Message-ID | <[email protected]> |
Am 31.08.2011, 16:21 Uhr, schrieb Ingo Randolf <[email protected]>: > Hi all. > I have a list with float-values describing an image like this: > [R, G, B, A, R, G, B, A, R, G, B, A, R, G, B, A, R, G, B, A, ... etc.] > the RGBA-values are from 0. - 1. > is there a clever way to make a PIL-Image out of something like this? > i played around with putdata... and came along with this, very, very > slow solution: > px = list-of-rgba-values-as-floats > img = the-image > #make int-tuples > newdata = [(int(px[(x*4)]*255), int(px[(x*4)+1]*255), > int(px[(x*4)+2]*255), int(px[(x*4)+3]*255)) for x in range( img.size[0] > * img.size[1] )] > Image.putdata(newdata) > well i never saw a result, because it took too long for my short > patience... You can turn that list into a list of tuples for each pixel like this new_array = [] for idx in range(0, len(l), 4) new_array.append(tuple(l[idx:idx+4])) You can probably wrap this in some functional programming so that you are not using memory for transitional data structures. Charlie -- Charlie Clark Managing Director Clark Consulting & Research German Office Helmholtzstr. 20 Düsseldorf D- 40215 Tel: +49-211-600-3657 Mobile: +49-178-782-6226 _______________________________________________ Image-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/image-sig