-
Questa è solo una breve sezione in cui introdurremo un puzzle (rompicapo), che è basato
-
sul codice per la manipolazione delle immagini che stiamo scrivendo. Allora l'idea è, c'è un'immagine di un certo
-
oggetto misterioso. E i valori dei canali rosso, verde e blu nell'immagine sono stati
-
mischiati in qualche modo.E quindi, quello di cui abbiamo bisogno è scrivere il codice che ripristini
-
i valori del rosso, del verde e del blu e quindi riveli l'immagine originale,e , e ci faccia vedere di che si tratta
-
Quindi, ecco un esempio quello che farò. Questo è il cosidetto "Gold Puzzle"
-
E , l'idea, cioè c'è, c'è un qualche oggetto che viene mostrato qui. E quello che succede
-
è che, prima di tutto, i valori del verde e del blu nell'immagine sono stati semplicemente
-
impostati su un valore casuale compreso tra 0 e 255. E, in realtà, se lo si guarda.
-
da un'idea di una specie di neve. E, si può intravedere, c'è
-
cioè c'è qualche pixel dove il valore del verde è molto alto, qualche pixel dove il valore del blu è molto alto
-
e quindi il tutto sembra blu o verde con questa specie di pixel violetti sparsi ovunque.
-
Quinid ci sono dei casi, dobe sia il blu che il verde sono molto alut. E c'è
-
un livello di confusione nell'immagine. L'altra cosa che succede
-
è che l'immagine che vogliamo ripristinare, è nei
-
valori del rosso. In realà, è esclusivamente nei valori del rosso. Il blu e il verde non sono altro che una specie di "spazzatura"
-
Ma i valori dei rossi sono stati divisi per 10, quindi sembrano molto scuri. Quindi quello che stiamo vedendo qui
-
è una specie di versione "oscura", è, c', c'è un'immagine in rosso scuro
-
dietro. E è stata coperta conquesta specie di neve luminosa
-
blu e verde, in modo che non si possa vederla. Quindi, quello che vogliamo fare è scrivere il codice che ripari quest'immagine.
-
Quindi consentitemi di inizare da qui. Come al solito, ad iniziare
-
con un area di testo in bianco per iniziare a scrivere il codice. E qui sotto c'è la soluzione
-
Il bottone "Show solution", Quindi se vuoi, visita la pagina e prova per conto tuo, puoi, puoi, avere il codice in questo modo.
-
Bene, quindi la prima cosa che voglio fare, ecco qui, ecco qui come appare se lo eseguo qui:
-
il ciclo è vuoto, quindi se lo eseguo, ottengo semplicemnte l'immagine grezza del rompicapo
-
Ok. La prima cose che andrò a fare sarà dire
-
pixel.setGreen(0)
-
Andrò ad "abbatere" i pixel verdi. Mi sbarazzerò di lero
-
e vediamo cosa otteniamo. Hmm, ok, allora, adesso, bè, meglio, adesso semplicemente
-
abbiamo questa neve blu. Almeno ci siamo liberati della "neve" verde. Ora mi vado a liberare anche della "neve" blu
-
Quindi scriverò, pixel.dotSetBlue(0), proviamo
-
Ok, quindi, mi sono liberato della neve. Ma il problema ora è
-
l'immagine che è tutta in rosso. E' troppo scura e non riusciamo a vederla. Quindi
-
è tecnicamente lì, ma è invisibile. Quindi ciò di cui ho bisogno è di riscalarla
-
giusto? E' lì sotto, devo solo renderla più chiara. Quindi scriverò pixel.setRed of
-
pixel-dot-getRed. Sembra un po come il rompicapo "5, 10, 20"
-
Quindi, in questo caso, scriverò le istruzioni che lo riscalano
-
di un fattore 10. Quindi riscala il rosso di un fattore 10.
-
Huh, ecco qua. Quindi, questa è l'immagine finale.
-
la foto del "Golde Gate Bridge" visto dalla sponda di San Francisco. Ora
-
è piccolo, ovviamente e non sembra esatto. Quello che è successo è che siccome
-
i dati contengono solo i rossi, anche quando ripristiniamo l'immagine, tutto appare in rosso. Voglio dire,
-
quello che è successo in realtà è che essenzialmente abbiamo un immagine in bianco e nero
-
che normalmente vengono mostrate in uno spettro di colori dal nero al bianco. In questo caso
-
l'immagine viene mostrata in uno spettro che va dal nero al rosso. Quindi l'immagine è esatta ma semplicemente
-
questa è fatta in rosso. Per questa lezione, dovremmo dire che è "buona abbastanza": sai
-
riesci a vedere quelllo che dovrebbe essere. In una delle lezioni succesive ti mostrerò come
-
come correggere questa cosa e farlo apparire come una vera immagine in bianco e nero