
Guida
Quando è necessario rendere più nitida una foto e come farlo
di David Lee
Quando si riduce la dimensione di un'immagine, ogni pixel deve essere ricalcolato. Ho studiato cosa succede esattamente in questo processo. E quali effetti ha sul rumore dell'immagine.
Quando si riducono le dimensioni di un'immagine si eseguono calcoli più o meno complessi. Per dimostrarlo, inizierò con un semplice esempio: una bitmap con 24 pixel di larghezza e 16 pixel di altezza. Quindi 24×16 pixel. L'immagine deve essere ridotta a una larghezza di 10 pixel. Se il rapporto d'aspetto rimanesse invariato, si otterrebbe una nuova dimensione di 10×6,666 pixel, in senso stretto. Ma questo non è possibile. Quindi arrotondo al numero intero successivo, ovvero 10×7 pixel. Con immagini di grandi dimensioni, questi errori di arrotondamento non sono visibili e quindi non hanno molta importanza.
La difficoltà: un pixel al centro è composto da diversi pixel dell'immagine originale. Alcuni pixel sono solo ritagliati. Nel seguente estratto del volto di cui sopra, puoi vedere come cambia la griglia di pixel quando il numero di pixel viene ridotto da 24×16 a 10×7. La griglia con i campi grandi mostra i nuovi pixel: sono più grandi perché ce ne sono di meno.
La domanda ora è: qual è il colore corretto di ogni pixel? Devo semplicemente prendere il colore di ogni pixel dall'immagine originale? Sarebbe un approccio piuttosto primitivo. Probabilmente è più intelligente considerare gli altri pixel nelle vicinanze e includerli nel processo.
Il metodo utilizzato per ricalcolare i pixel si chiama interpolazione. I programmi di editing delle immagini come Photoshop conoscono diversi metodi di interpolazione. In linea di principio, possono essere utilizzati sia per ridurre che per ingrandire le immagini. Nella vita di tutti i giorni, tuttavia, il ridimensionamento è molto più comune.
La ripetizione dei pixel è il metodo più semplice. Determina semplicemente quale pixel dell'immagine originale è più vicino al pixel della nuova immagine e ne adotta il colore. Questo metodo porta a transizioni molto goffe e poco fluide. Nel nostro esempio, ciò significa anche che le parti rosse dell'immagine, ovvero gli occhi e il naso, semplicemente scompaiono.
Bilineare è un po' più sofisticato: il colore viene calcolato a partire dai quattro pixel più vicini al pixel di destinazione. Nel nostro esempio, tutti gli elementi del volto vengono mantenuti. Tuttavia, diluiti. Perché includendo i pixel vicini, anche il blu viene mescolato al rosso.
A differenza della ripetizione dei pixel, il metodo bilineare calcola anche le tonalità di colore intermedie. In un'immagine a due colori ve ne sono cinque:
Nell'immagine bilineare ridimensionata qui sopra, non c'è un rosso puro perché non c'è un'area rossa più grande nell'immagine originale.
Bicubico è il metodo più avanzato. Il software include un numero ancora maggiore di pixel nel calcolo. Tuttavia, anche in questo caso i colori originali vengono diluiti. Ci sono ancora più colori intermedi rispetto all'interpolazione bilineare. Un'immagine ridimensionata bicubicamente diventa sfocata.
Non ho scoperto quanti altri toni intermedi ci siano, dato che esistono diversi metodi di calcolo bicubico. Ma sicuramente ce ne sono più di cinque.
Lo sharpening bicubico è il metodo che Photoshop seleziona di default per ridurre le dimensioni. Il metodo cerca di rendere più nitidi i bordi sfocati. Questo è il motivo per cui si vede il blu puro a sinistra e a destra del naso al centro.
Ovviamente, nessuno dei metodi funziona bene con così pochi pixel. In una foto reale, la diluizione sarebbe visibile solo ai bordi dell'oggetto, mentre al centro sarebbe tutto a posto. Ho utilizzato la semplice immagine di uno smiley in modo che tu possa vedere meglio le differenze tra i metodi di calcolo.
Tuttavia, il mio esempio non è del tutto irrealistico. Infatti il rumore d'immagine, che si verifica nelle foto reali ad alte sensibilità ISO, è esattamente ciò che accade: i singoli pixel hanno un colore e una luminosità che si discostano dalla tonalità di base.
Quando l'immagine viene ridotta di dimensioni, le deviazioni si livellano: il rumore scompare o almeno si riduce notevolmente. Per illustrare questo aspetto, ecco un'immagine che si avvicina alla distribuzione casuale del rumore.
Bicubicamente ridotto a una scala più nitida, appare così:
Con la ripetizione dei pixel, i singoli pixel devianti scompaiono completamente. Ma quelli che non scompaiono continuano a brillare in tutto il loro splendore: il risultato è peggiore.
Questo è tanto più vero in quanto i colori devianti nel rumore dell'immagine non sono generalmente così contrastanti come il rosso e il blu. La deviazione ha un aspetto più simile a questo:
Con l'interpolazione bicubica, questo risulta già in una superficie abbastanza uniforme:
In altre parole, l'interpolazione bicubica attenua le irregolarità causate dal rumore dell'immagine.
La foto seguente ha un ISO di 12.800 e quindi è piuttosto rumorosa. Ne mostro prima una sezione in modo che il rumore si veda chiaramente.
L'intera foto, sottoposta a un downsampling di 700 pixel utilizzando il metodo "bicubic sharpening". Il rumore è in gran parte scomparso:
Ecco il risultato con il metodo bilineare. Molto simile, ma i bordi sono un po' più morbidi, come previsto:
La ripetizione dei pixel è chiaramente la più rumorosa, poiché i pixel mancanti scompaiono completamente o rimangono completamente intatti:
Quanto segue è importante per la vita di tutti i giorni: Il rumore dell'immagine scompare in gran parte quando si riducono le dimensioni delle immagini. Molto probabilmente il tuo software utilizza un metodo bicubico che rimuove particolarmente bene il rumore. Con il metodo "bicubico più nitido", la tua foto rimarrà comunque nitida.
Il mio interesse per il mondo IT e lo scrivere mi hanno portato molto presto a lavorare nel giornalismo tecnologico (2000). Mi interessa come possiamo usare la tecnologia senza essere usati a nostra volta. Fuori dall'ufficio sono un musicista che combina un talento mediocre con un entusiamso eccessivo.