# Elaborazione digitale delle immagini

L'elaborazione digitale delle immagini è una attività che, mediante l'utilizzo di specifici programmi e dispositivi elettronici come computer e tavolette, permette di modificare un'immagine digitale apportando variazioni visibili e apprezzabili all'osservatore. E' attività comune nel campo fotografico professionale.
Tecnicamente l'elaborazione digitale delle immagini utilizza algoritmi che attraverso l'elaborazione numerica dei segnali è in grado di modificare un'immagine digitale. Tali algoritmi, a partire dai valori dei pixel dell'immagine, restituiscono un'immagine modificata oppure un dato numerico o tabellare rappresentativo di una particolare caratteristica dell'immagine in input. Tali operazioni possono essere svolte in maniera totalmente automatica o con un'interazione anche continua con l'utente.

## Storia

Molte delle tecniche di elaborazione digitale di immagini, o della trasformazione di immagini digitali come spesso veniva chiamata, sono state sviluppate nel 1960 presso il Jet Propulsion Laboratory, il Massachusetts Institute of Technology, i Bell Laboratories, l'Università del Maryland, e altre strutture di ricerca, con applicazione a immagini satellitari, telefoto di conversione standard, immagini medicali, videocitofono, riconoscimento ottico dei caratteri, e miglioramenti fotografici. Il costo dell'elaborazione in quel periodo era piuttosto alto con l'apparecchiatura di elaborazione. Le cose cambiarono negli anni settanta, quando computer più economici e hardware dedicato furono resi disponibili sul mercato. Le immagini allora potevano essere elaborate in tempo reale, per alcuni problemi dedicati come la conversione per i diversi standard televisivi.
Negli anni 2000, grazie all'avvento di computer più veloci, l'elaborazione delle immagini digitali diventò la forma più comune di elaborazione delle immagini e, in generale, divenne il metodo più utilizzato data la sua versatilità e il basso costo.
La tecnologia di elaborazione delle immagini digitali per applicazioni mediche è stata inserita nel 1994 nella Hall of Fame della Space Foundation.
Nel 2002 Raanan Fattal ha introdotto nel mondo delle elaborazione delle immagini il gradiente, ovvero un nuovo modo di elaborare le immagini in cui le differenze tra i pixel sono manipolati, piuttosto che i valori del pixel stesso.

## Descrizione

Il tipo più noto di elaborazione digitale delle immagini è l'editing o fotoritocco, che si può effettuare tramite degli appositi software tra cui i più famosi sono GIMP e Photoshop. Sostanzialmente, l'editing di immagini consiste nell'alterare l'immagine originale sia in maniera elementare, per esempio rendendola più luminosa o tagliandone i margini, sia in maniera più profonda rimuovendo o aggiungendo cose o persone o cambiandone dei dettagli come le imperfezioni della pelle o le dimensioni dei bicipiti.
L'elaborazione avviene partendo dal fatto che le immagini raster sono memorizzate in forma di matrice di pixel, ognuno dei quali contiene il colore e la luminosità del punto. I programmi di fotoritocco permettono a un utente di cambiarne questi i valori indicando manualmente quali operazioni devono essere effettuate in quali zone, tra i numerosi tipi di operazioni che possono essere svolte una delle più frequenti è la copia di parti dell'immagine in altre zone, per esempio copia di una zona erbosa su un particolare da nascondere o copia di una zona di pelle sana su un'imperfezione, detta strumento clona.
L'elaborazione di immagini in modo digitale presenta molti vantaggi rispetto all'elaborazione analogica, in particolare è possibile eseguire su immagini digitali operazioni molto complesse e il numero delle operazioni che si possono effettuare è nettamente maggiore. Con la diffusione e il perfezionamento dei computer l'elaborazione analogica delle immagini è stata praticamente abbandonata.

### Operazioni di base su immagini digitali

Possiamo suddividere gli operatori applicabili a immagini digitali in due categorie:
* Gli operatori punto effettuano una trasformazione del valore di un pixel a seconda del valore che ha il solo pixel stesso nell'immagine originale, essendo u un pixel dell'immagine di partenza e v il pixel nella stessa posizione dell'immagine destinazione possiamo scrivere: $v=f(u);$ Il tipo di trasformazione effettuato dipende dalla natura della f(u). Ad esempio un operatore di sogliatura (thresholding) lavora nel seguente modo: l'utente impone un valore di soglia per il livello di grigio (o di colore) dei pixel. L'operatore analizza i pixel dell'immagine uno a uno, se il suo livello di grigio eccede il valore di soglia allora tale valore viene impostato ad un valore arbitrario, ad esempio nero. Se il valore del pixel originale non eccede il valore fissato come soglia, viene lasciato invariato.
* Gli operatori spaziali, invece, sfruttano, per determinare il valore del pixel di destinazione, non solo il valore del pixel stesso nell'immagine originale, ma anche il valore di alcuni pixel ad esso vicini. La dimensione di tale vicinanza è determinata dall'utente che imposta la "finestra" su cui l'operatore deve lavorare. Esempi noti di operatori spaziali sono il filtro media, che calcola la media aritmetica dei pixel all'interno della "finestra" e impone tale valore, e il filtro mediano, il quale invece calcola la mediana statistica. L'utilità di tali filtri sta nella capacità di eliminare un qualche tipo di rumore che affligge l'immagine originale, come ad esempio il rumore sale e pepe. In particolare mediante un filtro media è possibile eliminare disturbi distribuiti in modo gaussiano, mentre tramite l'applicazione di un filtro mediana si eliminano efficacemente disturbi casuali, i cosiddetti shot noise, quali ad esempio quelli generati da errori nel canale trasmissivo.

### Operazioni avanzate su immagini digitali

L'elaborazione delle immagini digitali consente l'uso di algoritmi molto più complessi, e quindi, possono offrire sia più sofisticate prestazioni in compiti semplici, che metodi di applicazione che sarebbe impossibile con mezzi analogici.
In particolare, l'elaborazione di immagini digitali è l'unica tecnologia pratica per ottenere:
* classificazione (classification)
* regressione (regression)
* estrazione di caratteristiche (feature extraction)
* riconoscimento di pattern (pattern recognition)
* riconoscimento dei contorni (edge detection)
* segmentazione (segmentation)
In ambito delle immagini digitali, esistono anche altre tecniche avanzate, che permettono di ottenere risoluzioni maggiori attraverso tecniche di super-resolution, o di ricostruzione di parti mancanti, con tecniche di inpainting.