Analisi di Immagini e Dati Biologici Caratterizzazione e trasformazione di intensità di un'immagine 51
Analisi di Base Assumiamo che le nostre immagini siano Immagini di intensità di luminosità (grayscale) Rappresentate da Interi senza segno [0...255] (uint8 – unsigned integer a 8 bit) Oppure virgola mobile doppia precisione (double) [0...1]
Rappresentazione Digitalizzata
Caratterizzazione di Base della Qualità: istogrammi L'istogramma Metodo basilare di caratterizzazione di un'immagine L'istogramma mostra la distribuzione all'interno del range di luminosità dello strumento dei valori dei pixel Applicazione: Esposizione: per immagini fotografiche l'istogramma permette di capire se l'immagine sarà sovra-esposta o sotto-esposta Contrasto: analisi, correzione, confronto Analisi della dinamica
Histograms L'istogramma si calcola percorrendo tutti i pixel e contando quanti pixel hanno un determinato valore
Image Histogram La somma dei valori dell'istogramma (integrale) è NxM ( = numero di pixel dell'immagine) Semplice da calcolare per immagini uint8 Per immagini in con bit depth 16 o superiore si ricorre al binning
Image Histogram L'istogramma non è l'equivalente di un impronta digitale di un immagine Immagini completamente diverse possono avere istogrammi simili Si può costruire ad arte immagini con identico istogramma
Image Histogram Problemi con l'esposizione: Settori di un istogramma inutilizzati, altri con frequenza di valori troppo alta Soprattutto per i valori di luminosità elevata l'istogramma rileva problemi di sovraesposizione
Image Histogram
Imagine Histogram Contrasto Range effettivamente usato dei valori di un immagine Differenza tra valore massimo e valore minimo dell'intensità
Image Histogram
Image Histogram Dinamica di un immagine (Dynamic Range) La dinamica di un'immagine è data dal numero di valori di pixel distinti usati nell'immagine Maggiore è la dinamica allora maggiore... La capacità di risoluzione di differenze (in linea di principio) La capacità di miglioramento della qualità in caso di difetti di esposizione o mancanza di contrasto La possibilità di preservare qualità dell'immagine anche dopo compressione o altre elaborazioni
Image Histogram Contrasto vs. Dinamica Il contrasto può essere modificato alterando opportunamente i valori dei pixel La dinamica è una caratteristica costitutiva di un'immagine Il miglioramento della dinamica richiede tecniche di manipolazione che introducono 'nuovi' valori di pixel La dinamica viene modificata da algoritmi di riduzione della risoluzione dell'immagine che usano interpolazione dei valori
Alterazione della Dinamica
Image Histogram Saturazione La saturazione avviene quando i valori di pixel agli estremi della dinamica della fotocamera sono eccessivamente popolati Inevitabile se il range di luminosità della scena/oggetto sono più grandi della dinamica del sensore
Image Histogram: alterazioni L'istogramma è un metodo semplice per rivelare alterazioni dovute a processing Effetto dell'espansione/riduzione del contrasto
Modifica del Contrasto
Image Histogram: alterazioni Alterazioni legate alla compressione Esempio: immagine compressa dopo essere stata salvata in un file GIF
Image Histogram: alterazioni Alterazione dovute a compressione Esempio: immagine 'semplice' alterata dalla compressione interna al formato JPEG
Istogramma da Immagine di microscopia AFM
Istogramma da Immagine di microscopia AFM Istogramma logaritmico img=imread('afpict.tiff'); [counts,x]=imhist(img); stem(x,log10(counts))
Point Operation Ogni valore di pixel viene trasformato secondo una legge che dipende Dal valore del pixel stesso (legge omogenea) Dal valore del pixel e dalla posizione (legge non omogenea)
Point Operation Inversione di un immagine Nell'inversione di un immagine ogni valore di pixel viene trasformato nel suo 'complementare' Per eseguire correttamente l'operazione si deve conoscere amax, valore massimo dell'intensità (saturazione)
Inversione della luminosità
Inversione della luminosità Il nostro occhio non ha sensibilità costante alle differenze a tutte le luminosità
Alterazione della luminosità/contrasto Usando le operazione scalare-matrice Moltiplicazione: modifica del contrasto perchè cambia in modo diverso valori di pixel diversi Addizione: modifica della luminosità perché 'sposta' tutti i pixel dello stesso valore Se applicate usando la formula algebrica si deve tenere conto dei limiti imposti dalla rappresentazione
Manipolazione luminosità Limiti specifici dei valori di intensità di un pixel imposti dalla rappresentazione interna Le operazioni di moltiplicazione e addizione di uno scalare in generale non garantiscono il rispetto di questi limiti
Trasformazione Logaritmica Iout=C*log(1+α*Iin(u,v)) Regioni a luminosità più bassa acquistano dinamica a scapito delle regioni più luminose La costante α determina la curvatura La costante C determina la normalizzazione in base al valore massimo di I(u,v) e a
Trasformazione Logaritmica
Trasformazione logaritmica I' = log( 1 + 100 * I )/log(100)
Trasformazione Esponenziale Iout=C*((1+α)Iin(u,v) -1) Regioni a luminosità più alta acquistano spazio a scapito delle regioni meno luminose
Trasformazione Esponenziale
Trasformazione Esponenziale I = ((1+50)^I)-1)/50
Modifica automatica del Contrasto Il valori dei pixel vengono modificati in modo che il contrasto occupi tutto il range di valori disponibili Idealmente, con una legge di proporzionalità, il valore amin dovrebbe essere riportato a 0, mentre il valore amaxdovrebbe essere riportato a 255 per un immagine uint8
Modifica del Contrasto La formula di modifica automatica è sensibile singoli pixel troppo luminosi o troppo scuri Immagini normalmente esposte hanno comunque 'code' di pixel all'estremo dell'istogramma Si prende quindi una frazione di tutti i pixel e si fa in modo che essa venga saturata entro 2 limiti ragionevoli di valore dell'intensità Si applica su una distribuzione così modificata la trasformazione proporzionale del contrasto
Modifica Automatica Contrasto
Modifica del Contrasto La formula di modifica automatica è sensibile singoli pixel troppo luminosi o troppo scuri Immagini normalmente esposte hanno comunque 'code' di pixel all'estremo dell'istogramma Si prende quindi una frazione di tutti i pixel e si fa in modo che essa venga saturata entro 2 limiti ragionevoli di valore dell'intensità Si applica su una distribuzione così modificata la trasformazione proporzionale del contrasto
Modified Auto-Contrast
Modifica Automatica del Contrasto
Modified Auto-Contrast img=imread(...); imgadj=imadjust(img); La funzione imadjust 'satura' l'1% dei pixel ad entrambe le code della distribuzione ed mappa il resto dell'immagine sull'intervallo [0...1]. L'immagine deve essere quindi rappresentata con questa scala e in formato double
Modified Auto-Contrast
Histogram equalization Confronto accurato di immagini analoghe Ricalcolare istogrammi in modo che sia paragonabili Analoga struttura Stesso contrasto Varie tecniche a disposizione Equalizzazione: riportare ad un andamento dato Uniforme Iperbolica Specificazione: imporre l'istogramma di una immagine data
Equalizzazione Trasformazione verso l'istogramma con una distribuizione (quasi) uniforme Si assume che in certi casi l'immagine diventi più naturale Non essendo una distribuzione continua non è possibile realizzare una distribuzione realmente uniforme Si usa una soluzione approssimata dove l'istogramma finale ha una distribuzione quasi uniforme solo “in media” Confrontare tra loro immagini omologhe
Equalizzazione Uniforme
Equalizzazione Uniforme
Equalizzazione Uniforme Function File: J = histeq (I, n) Histogram equalization of a gray-scale image. The histogram contains n bins, which defaults to 64. I: Image in double format, with values from 0.0 to 1.0 J: Returned image, in double format as well See also: imhist Package: image
Manipolazione Contrasto: altri approcci Histogram specification L'istogramma di un immagine è rimodulato in modo che abbia un andamento dato Gli istogrammi cumulativi servono a rimappare i valori
Manipolazione Contrasto: altri approcci Aggiustamento secondo un istogramma dato: l'istogramma della funzione originale viene collocato all'interno della funzione cumulativa di un istogramma dato
Manipolazione Contrasto: altri approcci Imposizione dell'istogramma (cumulativo) secondo un andamento linare a tratti
Manipolazione Contrasto: altri approcci
Manipolazione Contrasto: altri approcci