2013/7/22 Carlo Miron <mi...@python.it> > Il 22 luglio 2013 20:22, Marco Beri <marcob...@gmail.com> ha scritto:: > > > On Mon, Jul 22, 2013 at 6:15 PM, Vittorio Spina < > vittorio.sp...@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
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python