[Python] Aiuto PIL

Marco Beri marcoberi a gmail.com
Lun 22 Lug 2013 20:22:50 CEST


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).

Questo potrebbe voler dire che non sarai mai in grado di ricostruire con
esattezza l'immagine iniziale.

A cosa serve la funzione?

La puoi modificare o te la trovi così com'è senza possibilità di toccarla?

Non riesci a postare un esempio di immagine originale e la stringa ottenuta?

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/e9f699d2/attachment.html>


Maggiori informazioni sulla lista Python