<div dir="ltr">2013/7/22 Carlo Miron <span dir="ltr"><<a href="mailto:miron@python.it" target="_blank">miron@python.it</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Il 22 luglio 2013 20:22, Marco Beri <<a href="mailto:marcoberi@gmail.com">marcoberi@gmail.com</a>> ha scritto::<br>
<div class="im"><br>
> On Mon, Jul 22, 2013 at 6:15 PM, Vittorio Spina <<a href="mailto:vittorio.spina@gmail.com">vittorio.spina@gmail.com</a>><br>
> wrote:<br>
>><br>
>> def TranlsateImage(im):<br>
>> stringImage=bytes()<br>
>> for pixel in list(im.getdata()):<br>
>> H=(pixel[2]&248)|pixel[1]>>5<br>
>> L=((pixel[1]<<3)&224)|pixel[0]>>3<br>
>> stringImage+=struct.pack('<B',H)<br>
>> stringImage+=struct.pack('<B',L)<br>
>> return stringImage<br>
>> alla quale passo una immagine PIL come argomento (im).<br>
><br>
><br>
> La funzione, ad un primo sguardo, sembra degradare l'immagine.<br>
><br>
> L'istruzione H=(pixel[2]&248)|pixel[1]>>5 nei fatti azzera i 3 bit meno<br>
> significativi di pixel[2] (che credo sia la componente blu del pixel).<br>
<br>
</div>Premetto che non conosco l'API di PIL, ma la scelta delle lettere mi<br>
fa pensare piu` alla codifica HSL_ che a quella RGB.<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>My 2 cents.</div><div><br></div><div>Ciao.<br>Marco.</div><div><br></div></div>-- <br><div><div><div><div><a href="http://beri.it/" target="_blank">http://beri.it/</a> - Un blog</div><div><a href="http://beri.it/i-miei-libri/" target="_blank">http://beri.it/i-miei-libri/</a> - Qualche libro</div>
<div><br></div></div></div></div>
</div></div>