560 likes | 742 Views
Analisi di Immagini e Dati Biologici. Caratterizzazione e trasformazioni di intensità di un'immagine. 55. Analisi di Immagini e Dati Biologici. Caratterizzazione e trasformazioni di intensità di un'immagine. 55. Analisi di Base. Assumiamo che le nostre immagini siano
E N D
Analisi di Immagini e Dati Biologici Caratterizzazione e trasformazioni di intensità di un'immagine 55
Analisi di Immagini e Dati Biologici Caratterizzazione e trasformazioni di intensità di un'immagine 55
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]
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 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
Imagine Histogram • Contrasto • Range effettivamente usato dei valori di un immagine • Differenza tra valore massimo e valore minimo dell'intensità
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
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
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 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à • 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+a*Iin(u,v)) Regioni a luminosità più bassa acquistano dinamica a scapito delle regioni più luminose La costante a determina la curvatura La costante C determina la normalizzazione in base al valore massimo di I(u,v) e a
Trasformazione logaritmica • I' = log( 1 + 100 * I )/log(100)
Trasformazione Esponenziale Iout=C*((1+a)Iin(u,v) -1) Regioni a luminosità più alta acquistano spazio a scapito delle regioni meno luminose
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 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 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
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 Strategia: si parte dal presupposto che una immagine di buona qualità ha un istogramma con una distribuizione (quasi) uniforme la distribuizione dei pixel non essendo continua non è possibile realizzare una distribuzione realmente Si usa una soluzione approssimata dove l'istogramma finale ha una distribuzione quasi uniforme solo “in media”
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