4 Creare contenuti per il web - Andrea Giachetti
4 Creare contenuti per il web - Andrea Giachetti
4 Creare contenuti per il web - Andrea Giachetti
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
110<br />
regione di interesse (cropping), ruotarla <strong>per</strong> ottenere <strong>il</strong> giusto orientamento e così via.<br />
In Figura 53 si vede l'esempio di una procedura di rotazione (ma considerazioni analoghe<br />
varrebbero <strong>per</strong> traslazione e ingrandimento): <strong>il</strong> programma, data la griglia originale dei pixel e i<br />
parametri della trasformazione, calcola i valori della nuova immagine che viene in questo caso<br />
codificata inserendo i nuovi valori nella griglia di pixel originale. Quest'ultimo passo è in realtà<br />
l'unico vero punto critico nelle procedure di trasformazione geometrica delle immagini. Le<br />
trasformazioni, infatti non potranno in genere spostare i punti della griglia di campionamento<br />
dell'immagine in punti della stessa griglia. Quello che, quindi, fanno i programmi è calcolare i<br />
valori del colore sui punti della griglia rettangolare dell'immagine di destinazione sulla base di<br />
quelli più vicini al punto corrispondente nell'immagine originale. Questa procedura viene detta<br />
interpolazione. Se <strong>il</strong> punto della nuova griglia non corrisponde a una regione interna<br />
all'immagine originale, i colori dei pixel restano non definiti, come si fede nelle regioni di bordo<br />
dell'immagine di destra nell'esempio di Figura 53. Per comprendere meglio questo passo<br />
dell'interpolazione, osserviamo la Figura 54: se si va a cercare quale punto dell'immagine<br />
originale corrisponda ad una generica trasformazione che porti alle coordinate intere di un pixel<br />
della nuova immagine (i,j), si trova in genere un valore non intero, <strong>per</strong> cui calcolerò <strong>il</strong> colore<br />
sulla base di una media pesata dei valori dei pixel più vicini a tale valore (interpolazione).<br />
Se si vanno a vedere le opzioni dei comandi di trasformazione geometrica dei programmi di<br />
fotoritocco come The Gimp, si trova spesso la possib<strong>il</strong>ità di scegliere l'algoritmo di<br />
interpolazione ut<strong>il</strong>izzato: <strong>il</strong> peggiore usualmente si limita a copiare <strong>il</strong> valore più vicino (nearest<br />
neighbor), mentre altri schemi ottengono risultati qualitativamente migliori (es. interpolazione<br />
bicubica).<br />
Una trasformazione geometrica speciale e molto ut<strong>il</strong>e <strong>per</strong> l'elaborazione fotografica è la<br />
correzione della distorsione dell'obiettivo, in genere realizzata mediante una trasformazione<br />
parametrica piuttosto complessa, ma che, <strong>per</strong> esempio, in The Gimp può essere realizzata in<br />
modo relativamente semplice selezionando l'apposita voce di menù, modificando i parametri e<br />
vedendo istantaneamente un'anteprima dell'effetto ottenuto.<br />
Le trasformazioni globali o della colormap sono particolarmente importanti <strong>per</strong> l'elaborazione<br />
fotografica. Esse sono generalmente applicate alle immagini true color <strong>per</strong> migliorarne la<br />
qualità visiva. Molte immagini, infatti, non sono efficaci a causa dello scarso contrasto o della<br />
scarsa luminosità. Esse, quindi, non sfruttano adeguatamente <strong>il</strong> range dinamico: nei pixel<br />
dell'immagine è rappresentato solo un sottoinsieme dei valori disponib<strong>il</strong>i <strong>per</strong> la codifica.<br />
Per chiarire <strong>il</strong> concetto, consideriamo un'immagine in bianco e nero o meglio in scala di grigi<br />
(grayscale): tipicamente in essa i colori vengono rappresentati con 8 bit, cioè con valori che<br />
Figura 55: Esempio di istogramma di un'immagine in scala di grigi: non tutti i livelli sono ut<strong>il</strong>izzati.