<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><blockquote type="cite"><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></div></div></blockquote><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div></div></div></div></blockquote><div style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">Allora, può essere che la funzione degradi le immagini, ma non si può far meglio perchè quelle immagini vanno su un device che le piglia così e le renderizza su dei micromonitors oled.</div><div style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">Quello che mi piacerebbe è avendo il formato ritornato dalla funzione, riuscire a salvare un jpg 64x48 (questa è la dimensione delle immagini) in modo da rendere disponibile un preview dal programma utente che pilota il microcontrollore. Spero di essermi spiegato.</div><div style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">Grazie<br><br>Giovanni Vittorio Spina</div></body></html>