[Python] Aiuto PIL

Marco Beri marcoberi a gmail.com
Lun 22 Lug 2013 21:31:03 CEST


2013/7/22 Carlo Miron <miron a python.it>

> Il 22 luglio 2013 20:22, Marco Beri <marcoberi a gmail.com> ha scritto::
>
> > On Mon, Jul 22, 2013 at 6:15 PM, Vittorio Spina <
> vittorio.spina a gmail.com>
> > wrote:
> >>
> >> def TranlsateImage(im):
> >>     stringImage=bytes()
> >>     for pixel in list(im.getdata()):
> >>         H=(pixel[2]&248)|pixel[1]>>5
> >>         L=((pixel[1]<<3)&224)|pixel[0]>>3
> >>         stringImage+=struct.pack('<B',H)
> >>         stringImage+=struct.pack('<B',L)
> >>     return stringImage
> >> alla quale passo una immagine PIL come argomento (im).
> >
> >
> > La funzione, ad un primo sguardo, sembra degradare l'immagine.
> >
> > L'istruzione H=(pixel[2]&248)|pixel[1]>>5 nei fatti azzera i 3 bit meno
> > significativi di pixel[2] (che credo sia la componente blu del pixel).
>
> Premetto che non conosco l'API di PIL, ma la scelta delle lettere mi
> fa pensare piu` alla codifica HSL_ che a quella RGB.
>

Io invece credo che il tizio che ha scritto la funzione volesse compattare
le tre componenti di un pixel (getdata ritorna RGB) in due byte chiamati
High e Low.

My 2 cents.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130722/aff0db90/attachment-0001.html>


Maggiori informazioni sulla lista Python