Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_previous_publish_date is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_notification_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Il trucco tecnologico che rende magiche le foto dello smartphone | IlSoftware.it

Il trucco tecnologico che rende magiche le foto dello smartphone

Ogni foto digitale nasce da un processo complesso: i sensori catturano la luce in valori numerici, i filtri Bayer e il demosaicing ricostruiscono il colore, il bilanciamento del bianco corregge le dominanti e la curva gamma adatta la luminosità alla percezione umana. Anche le immagini RAW subiscono elaborazioni essenziali.

Scattare una foto di un albero di Natale può sembrare semplice, ma ciò che vediamo sullo schermo dello smartphone è il risultato di un complesso flusso di elaborazioni matematiche e ottiche. Dai valori grezzi del sensore ai colori percepiti dal nostro occhio, ogni immagine digitale passa attraverso algoritmi di normalizzazione, demosaicing, bilanciamento del bianco e curve di luminosità. I dati lineari dei sensori sono trasformati in immagini a colori realistiche: un post illuminante offre un’analisi tecnica dei problemi comuni e delle soluzioni utilizzate dai fotografi professionisti e dagli ingegneri del software di imaging per gestire le immagini in digitale.

Dal sensore fotografico alla normalizzazione dei dati

Le fotocamere moderne, comprese quelle che equipaggiano gli smartphone che tutti abbiamo in tasca, usano sensori con ADC a 14 bit, teoricamente in grado di produrre valori tra 0 e 16.382 per ciascun canale colore. Tuttavia, nella pratica, la gamma effettiva dei dati è molto più ristretta: ad esempio, si rileva un valore minimo del sensore pari a 2.110; un valore massimo di 136.000.

I valori rappresentano la quantità di luce che colpisce ogni pixel: valori bassi corrispondono a poca luce (ombre o parti scure), valori alti a molta luce (parti luminose o riflettenti).

Un ADC a 14 bit (Analog-to-Digital Converter) è un componente del sensore che trasforma la luce catturata in un valore numerico digitale. Il “14 bit” indica la precisione della conversione: il sensore può distinguere fino a 16.384 livelli di luminosità diversi (2¹⁴), permettendo di registrare con grande dettaglio sia le ombre sia le alte luci. Ogni singolo pixel misura quanta luce lo colpisce e l’ADC la traduce in un numero compreso tra 0 (nessuna luce) e 16.382 (massima luce misurabile).

Foto di un albero di Natale così come lo vede un sensore fotografico

Credit immagine: maurycyz.com, licenza CC BY-NC-SA 4.0.

Nell’esempio della foto dell’albero di Natale, 2.110 indica il pixel più scuro, cioè la porzione dell’immagine con meno luce rilevata dal sensore; 136.000 rappresenta il pixel più luminoso catturato dal sensore, che ha ricevuto la quantità massima di luce presente nella scena.

Per rendere i valori visualizzabili su schermo, si applica una normalizzazione lineare: Vnew = (Vold - Black) / (White - Black)

Dove Black e White rappresentano rispettivamente il valore minimo e massimo rilevato dal sensore. Il passaggio non è neutrale: la scelta dei valori di soglia influisce direttamente sul contrasto percepito e sui dettagli delle ombre e delle alte luci.

Istogramma valori foto RAW

Credit immagine: maurycyz.com, licenza CC BY-NC-SA 4.0.

Filtro Bayer, struttura RGGB e demosaicing

I sensori digitali non catturano il colore direttamente. Ogni pixel misura solo l’intensità della luce che lo colpisce.

Per generare il colore, si usa una matrice Bayer RGGB (50 % verde, 25 % rosso, 25 % blu). Ogni pixel registra un solo canale colore; gli altri due sono stimati dai pixel vicini tramite demosaicing.

Il demosaicing ricostruisce un’immagine RGB completa combinando i valori dei pixel adiacenti. Nel caso dell’albero di Natale, il processo iniziale produce immagini più colorate, ma spesso ancora scure e con dominante verde a causa della maggiore sensibilità del sensore al verde e della presenza doppia di pixel verdi nella matrice.

I sensori digitali sono progettati per essere più sensibili al verde perché l’occhio umano percepisce più dettagli nella luminanza verde. A parità di luce, i pixel verdi produrranno valori più alti rispetto a quelli rossi o blu.

Ogni blocco 2×2 della matrice Bayer RGGB ha due pixel verdi e solo uno rosso e uno blu: la componente verde ha più dati disponibili da cui stimare la luminanza, e il demosaicing ne accentua ulteriormente il contributo.

Dopo il primo passaggio di demosaicing, l’immagine mostra colori più realistici rispetto alla configurazione iniziale, ma le ombre rimangono scure e il verde è dominante, richiedendo una correzione del bilanciamento del bianco prima di ottenere un’immagine visivamente equilibrata. E ciò vale anche se l’oggetto fotografato non è verde.

Dominante verde immagine RAW

Passaggio intermedio: l’immagine dell’albero di Natale con la dominante verde. Credit: maurycyz.com, licenza CC BY-NC-SA 4.0.

Curva non lineare e percezione umana

Abbiamo detto che i dati grezzi raccolti dal sensore sono lineari, mentre la percezione umana della luminosità è non lineare. Mostrare i valori lineari produce immagini scure perché lo spazio colore standard sRGB concentra più livelli sui toni scuri, simulando la percezione visiva.

Ciò che si fa consiste nell’applicare una curva non lineare (gamma correction) per aumentare la leggibilità delle ombre e dei mezzitoni: è un passaggio è fondamentale per adattare i dati del sensore alle limitazioni degli schermi, anche OLED.

Bilanciamento del bianco e correzione del verde

La dominante verde nasce da due fattori: maggiore sensibilità del sensore al verde e più pixel verdi nella matrice RGGB. Per correggerla si moltiplicano i valori dei canali con costanti calibrate, normalizzando il verde rispetto a rosso e blu.

Ogni canale (rosso, verde, blu) è bilanciato tramite un moltiplicatore dedicato, così da eliminare dominanti cromatiche indesiderate. Ad esempio, se il canale verde è sistematicamente più alto per ragioni tecniche (sensibilità maggiore e doppio numero di pixel nella matrice), il suo valore è ridotto per allinearlo agli altri canali. Dopo questo bilanciamento, si riapplica la curva non lineare per ottenere la luminosità finale percepita dall’occhio.

Sono passaggi che assicurano l’ottenimento di un’immagine finale con colori equilibrati e ombre/alte luci siano visibili correttamente, senza che la dominante tecnica del sensore distorca il risultato.

Immagine finale corretta JPEG dopo passaggi

Immagine finale prodotta dallo smartphone in formato JPEG dopo i vari processi descritti nell’articolo. Credit: maurycyz.com, licenza CC BY-NC-SA 4.0.

La magia nascosta dentro i sensori dei nostri dispositivi

Ogni immagine che scattiamo con uno smartphone o una fotocamera digitale nasce da un processo incredibilmente complesso, invisibile all’occhio dell’utente. I sensori trasformano la luce in numeri, e questi numeri devono poi essere ricostruiti per restituire un’immagine fedele alla realtà.

I punti principali del funzionamento, evidenziati in precedenza, sono:

  • Acquisizione lineare dei dati: ogni pixel misura quanta luce lo colpisce e la traduce in un valore numerico tramite un ADC a 14 bit, distinguendo migliaia di livelli di luminosità.
  • Filtri Bayer e demosaicing: la matrice RGGB permette di catturare colore e luminanza, ma richiede algoritmi sofisticati per stimare i canali mancanti.
  • Correzione dei canali e bilanciamento del bianco: la dominante verde del sensore è compensata moltiplicando i valori dei canali, prima di applicare curve non lineari.
  • Curva non lineare e gamma correction: i dati lineari sono trasformati in valori percepibili dall’occhio umano e compatibili con la gamma dei display.

La “magia” sta nel fatto che tutte queste operazioni avvengono in millisecondi, permettendo agli smartphone di restituire in tempo reale immagini perfettamente bilanciate e cromaticamente accettabili. Ogni foto apparentemente semplice è il risultato di una combinazione di ingegneria, matematica e fisica ottica, che traduce la luce del mondo reale in un linguaggio digitale comprensibile e visivamente coerente.

Perché non esiste un’immagine completamente “non processata”

Anche quando si parla di immagini RAW, spesso considerate “non processate”, in realtà ciò che vediamo sullo schermo è sempre il risultato di una serie di trasformazioni.

I sensori digitali, infatti, catturano dati lineari grezzi che rappresentano l’intensità della luce, ma questi dati non corrispondono direttamente ai toni percepiti dall’occhio umano né possono essere visualizzati così come sono. Essi registrano una gamma dinamica molto più ampia di quella che uno schermo può mostrare.

Anche se l’immagine è in formato RAW, è necessario applicare almeno una normalizzazione lineare per mappare i valori ADC in un intervallo compatibile con il display, altrimenti tutto apparirebbe scuro o sovraesposto. Inoltre, senza applicare una curva gamma o una conversione nello spazio colore sRGB, i toni scuri risulterebbero quasi invisibili e le alte luci saturate.

Ancora, per ottenere un’immagine RGB completa è necessario interpolare i dati dei pixel vicini. Si tratta già di un’elaborazione, perché stima valori che il sensore non ha misurato direttamente. Gli stessi interventi tesi alla correzione della dominante verde del sensore o di altre imperfezioni ottiche sono processi tecnici necessari per rendere i colori visivamente corretti.

Le modifiche fatte dai fotografi in post-produzione riproducono algoritmi simili a quelli che la fotocamera applica internamente.

Ogni immagine visibile, ad esempio quelle che produciamo ogni giorno con il nostro smartphone, è quindi sempre una interpretazione dei dati grezzi, ottimizzata per la percezione umana e per le limitazioni dei dispositivi di visualizzazione.

Ti consigliamo anche

Link copiato negli appunti