informatica per la grafica - leoausili.it · informatica per la grafica lezione 4 operazioni...

95
Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania

Upload: hoangphuc

Post on 15-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Informatica per la Grafica

Lezione 4

Operazioni classiche sulle immagini

Di Blasi Gianpiero - D.M.I. - Università di Catania

Page 2: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Cosa impareremo oggi

● Gli operatori sulle immagini digitali● I filtri puntuali● L'istogramma di un'immagine● L'equalizzazione● Aritmetica delle immagini● I filtri lineari e convolutivi● I filtri non lineari

Page 3: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Gli operatori sulle immagini digitali

● Sono operazioni che possono alterare i valori dei pixel di una immagine

● Esistono migliaia di operatori usati a vario scopo● Essi implementano algoritmi e tecniche di

elaborazione molto diverse● In questo momento ci occuperemo

principalmente di due grandi classi di operatori:– operatori puntuali– operatori convolutivi

Page 4: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Semplifichiamoci la vita

● Per semplificare la discussione lavoreremo solo su immagini a toni di grigio

● Le medesime operazioni descritte per tali immagini si estendono nella massima parte dei casi alle immagini RGB

● Basta operare separatamente sui tre canali R, G e B e trattare ciascuno di essi come una immagine a toni di grigio indipendente dagli altri canali

● Ma prima di fare questo dobbiamo imparare a “convertire” un'immagine in toni di grigio

Page 5: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Conversione a toni di grigio (1)

● Abbiamo visto nella lezione 2 la legge che lega la luminanza Y con le componenti RGB

● Possiamo utilizzare tale legge per ottenere la conversione a toni di grigio

● In effetti tutti i software utilizzano tale legge, ma con dei valori decimali più precisi

● L'idea comunque è che la luminanza Y rappresenta “abbastanza fedelmente” la versione a toni di grigio di un'immagine

Y=0.3⋅R0.6⋅G0.1⋅B

Page 6: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Conversione a toni di grigio (2)

● C'è un altro sistema per convertire un'immagine a toni di grigio: l'indicizzazione

● Mettiamo alla prova i nostri software con i due sistemi appena proposti

Page 7: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Operatori locali e puntuali (1)

● Un operatore che preso in input il valore di un pixel ne restituisce uno cambiato si dice locale se il valore che esso dà in output dipende esclusivamente dai valori del pixel in ingresso e dei pixel ad esso “vicini”

● Tali pixel formano un intorno (neighborhood) del pixel trasformato

Page 8: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Operatori locali e puntuali (2)

● Un operatore che preso in input il valore di un pixel ne restituisce uno cambiato si dice puntuale se il valore che esso dà in output dipende esclusivamente dal valore del pixel in ingresso

● Ogni operatore puntuale è un operatore locale in cui il “vicinato” si riduce al singolo pixel in elaborazione

Page 9: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Gli operatori puntuali (1)

● Gli operatori puntuali sono semplici tabelle● Un pixel di una immagine a toni di grigio ha

(tipicamente) 256 possibili colori (livelli di grigio)

● Poiché un operatore puntuale dipende solo dal valore del pixel esso è completamente descritto da una tabella come quella che segue

Page 10: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Gli operatori puntuali (2)

● Tale tabella si chiama “Look Up Table”

● Ne abbiamo già parlato quando abbiamo introdotto la palette delle immagini e la compressione palette-based

● Il significato qui è “quasi” lo stesso: in quel caso la LUT serviva per ridurre il numero di colori ed indicizzarli, qui serve per “trasformare” un colore in un altro

Page 11: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Gli operatori puntuali (3)

● Numeri? No grazie preferisco i disegni

● Questa è universalmente l'interfaccia che tutti i programmi offrono per la visualizzazione e gestione delle operazioni puntuali

Page 12: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Gli operatori puntuali (4)

Vediamo un esempio di sistema di visualizzazione delle LUT

Page 13: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (1)

Identità: i valori non cambiano

Page 14: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (2)

Negativo: bianco e nero si

scambiano

Page 15: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (3)

Incupimento

Page 16: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (4)

Schiarimento

Page 17: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (5)

Diminuisce il contrasto

Page 18: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (6)

Aumenta il contrasto

Page 19: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (7)

Solarizza

Tutte le LUT che non hanno un

andamento regolare si dicono di solarizzazione

Page 20: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (8)

Soglia

Page 21: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esempi di LUT (9)

Quantizzazione

Page 22: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● LUT– provare ad applicare una LUT a diverse tipologie di

immagini (PNG, GIF, JPEG, ecc.)– verificare il comportamento a seconda del formato– provare ad applicare ad una stessa immagine diversi

tipi di LUT– verificare il comportamento a seconda della LUT– provare ad applicare più LUT in cascata e verificare il

diverso comportamento a secondo dell'ordine di applicazione

Page 23: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

La statistica: uno strumento di “diagnosi” per le immagini

● I pixel di una immagine posso essere visti come una “popolazione” sulla quale possiamo calcolare tutte le quantità statistiche descrittive che si usano normalmente:– media, mediana, varianza, deviazione standard,

quartili, percentili, ecc.

● Particolarmente importante è la conoscenza della distribuzione delle frequenze dei toni di grigio: l'istogramma

Page 24: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'istogramma (1)

Page 25: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'istogramma (2)Attenzione! Immagini diverse potrebbero avere istogrammi simili (se non uguali)L’istogramma tiene conto solo della distribuzione statistica dei livelli di grigio non della distribuzione spaziale dei pixel

Page 26: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'istogramma (3)

Vediamo qualche esempio pratico e mettiamolo alla prova su diverse immagini

Page 27: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● Istogramma

– verificare l'istogramma di diverse tipologie di immagini (PNG, GIF, JPEG, ecc.)

– provare a modificare (in qualsiasi modo) le immagini e verificare come cambia l'istogramma corrispondente

Page 28: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (1)

● Le operazioni di LUT possono alterare anche in modo significativo l'istogramma di un'immagine

● Ci tocca un bel lavoro adesso

● Dobbiamo infatti riprendere tutte le tecniche di LUT viste precedentemente e vedere come cambia l'istogramma

Page 29: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (2)

Negativo: bianco e nero si

scambiano

Page 30: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (3)

Incupimento

Page 31: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (4)

Schiarimento

Page 32: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (5)

Diminuisce il contrasto

Page 33: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (6)

Aumenta il contrasto

Page 34: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (7)

Solarizza

L'istogramma dopo una solarizzazione è poco

indicativo.Se considero LUT di tipo

“strano” posso trasformare un

istogramma dato in un qualunque altro

Page 35: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (8)

Soglia

Page 36: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

LUT ed istogramma (9)

Quantizzazione

Page 37: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● LUT ed istogramma– provare ad applicare una LUT a diverse tipologie di

immagini (PNG, GIF, JPEG, ecc.) e verificare come cambia l'istogramma

– verificare il comportamento a seconda del formato– provare ad applicare ad una stessa immagine diversi

tipi di LUT e verificare come cambia l'istogramma– verificare il comportamento a seconda della LUT– provare ad applicare più LUT in cascata e verificare il

diverso comportamento a secondo dell'ordine di applicazione e come cambia l'istogramma

Page 38: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Analisi degli difetti tramite istogramma (1)

● Gli istogrammi sono un potente strumento di analisi statistica di un'immagine

● Ma soprattutto gli istogrammi consentono una diagnosi dei difetti di una immagine

● Ovviamente non è possibile individuare tutti i difetti possibili

● I tipi di difettosità individuabili devono essere di un qualche tipo riconducibile ad una problema legato alla statistica

Page 39: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Analisi degli difetti tramite istogramma (2)

Immagine sottoesposta

Page 40: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Analisi degli difetti tramite istogramma (3)

Immagine sovraesposta

Page 41: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Analisi degli difetti tramite istogramma (4)

Immagine con range dinamico compresso

Toni non usati

Page 42: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● LUT ed istogramma

– cercare tramite istogramma alcune immagini che presentano i difetti appena presentati (altrimenti crearle artificialmente)

– provare ad applicare una (o più) LUT a tali immagini (PNG, GIF, JPEG, ecc.) nel tentativo di eliminare il difetto

Page 43: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'equalizzazione (1)

● Si parla di immagine equalizzata quando il contributo di ogni differente tonalità di grigio è “pressappoco uguale”

● Si parla anche di istogramma uniforme● L'equalizzazione si può realizzare con un

semplice algoritmo (non verrà trattato)● Solitamente l'equalizzazione rende più nitida

un'immagine● Attenzione pero, poiché non sempre

l'equalizzazione migliora l'immagine

Page 44: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'equalizzazione (2)

Il “pressappoco uguale” della slide precedente proviene dal fatto che (per problemi numerici) non è possibile nella pratica ottenere un contributo uguale per ogni tono di grigio.

Questo viene dal fatto che se il “contributo uguale” dovesse risultare un numero decimale sarà necessario approssimare in quale modo

Page 45: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

L'equalizzazione (3)Ecco un caso in cui l'equalizzazione fallisce e peggiora l'immagine

In generale funziona male per distribuzioni multimodali (con due o più “picchi”)

Page 46: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● Equalizzazione– provare ad applicare un'equalizzazione a diverse

tipologie di immagini (PNG, GIF, JPEG, ecc.) e verificare come cambia l'istogramma

– trovare delle immagini su cui l'equalizzazione peggiora l'immagine stessa

– provare ad applicare più equalizzazioni in cascata e verificare come cambia l'istogramma

– provare ad applicare equalizzazione e LUT su una stessa immagine e verificare il risultato visivo e tramite l'istogramma

Page 47: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Aritmetica delle immagini (1)

● Fino a questo momento abbiamo soltanto modificato i valori dei pixel di un'immagine in base a delle regole statistiche

● Poiché le immagini non sono altro che “griglie” di numeri è possibile inventarsi una “aritmetica” delle immagini

● Ovvero definire le operazioni di somma, prodotto, ecc.

Page 48: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Aritmetica delle immagini (2)

● Ad esempio un'operazione di somma tra due immagini si ottiene facilmente “sommando” i valori delle due immagini “pixel per pixel”

+ =

Page 49: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Aritmetica delle immagini (3)

● L'operazione di moltiplicazione di un'immagine per “uno scalare” si ottiene “moltiplicando” i valori dell'immagine per un numero

2 x =

Page 50: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Aritmetica delle immagini (4)

● È possibile effettuare una miriade di operazioni tra le immagini

● Alcune anche particolarmente interessanti● I normali programmi di grafica permettono di

gestire tali operazioni principalmente tramite i layer

● Dei layer parleremo a breve, ma per adesso “supponiamo” di conoscerli già e vediamo che operazioni è possibile effettuare

Page 51: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● Aritmetica delle immagini

– provare i vari tipi di operazioni tra le immagini applicate a diverse tipologie di immagini (PNG, GIF, JPEG, ecc.) e verificare come cambia il risultato

– provare anche con più di due layer utilizzando diversi sistemi di sovrapposizione

– lavorare anche sulle trasparenze delle immagini

Page 52: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Problemi di overflow ed altro (1)

● Attenzione! Non tutte le operazioni tra immagini restituirebbero in output un'immagine

● Operando aritmeticamente può accadere che un pixel abbia:– un valore decimale– un valore negativo– un valore maggiore del massimo (tipicamente 255)

● Il primo problema si risolve facilmente con una approssimazione ad intero, gli altri due vanno sotto il nome di problemi di overflow

Page 53: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Problemi di overflow ed altro (2)

● Ci sono diversi modi per risolvere i problemi di overflow– si possono ad esempio semplicemente “troncare” a

zero i valori negativi ed a 255 i valori maggiori di 255● Questa soluzione spesso porta però a dei

problemi di perdita di dettaglio● Se tutto un insieme di valori viene posto a zero e

tutto un altro insieme di valori viene posto a 255 si rischia di “appiattire” alcune zone dell'immagine ottenendo un effetto “solarizzazione”

Page 54: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Problemi di overflow ed altro (3)

● Un sistema migliore è “rimappare” i nuovi valori nel range [0, 255]

● Sfortunatamente quasi nessun software fa una cosa del genere

● Per fare ciò bisogna seguire i seguenti passi:– individuare i valori minimo v

min e massimo v

max trovati

– rimappare ogni valore vold

nel valore vnew

secondo la legge:

vnew=255⋅vold−vmin

vmax−vmin

Page 55: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Problemi di overflow ed altro (4)

+ =

Soluzione 1 Soluzione 2 (simulata)

Page 56: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri convolutivi (1)

● Introduciamo adesso uno degli strumenti più potenti che l'informatica mette a disposizione degli artisti: i filtri convolutivi

● La teoria matematica che sta alla base dei filtri convolutivi è particolarmente complessa e quindi non può essere trattata

● Questo ci impedirà di comprendere appieno il comportamento di un filtro convolutivo

● Cercheremo comunque di spiegare il tutto nel modo più semplice possibile

Page 57: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri convolutivi (2)

● Il bello dei filtri convolutivi è che sono veramente facili da usare

● Inoltre se si riesce a capire come funzionano è anche molto semplice costruirseli da se per ottenere risultati particolari

● Tutti i programmi di elaborazione forniscono una miriade di filtri più o meno utili ed anche la possibilità di creare filtri “custom”

Page 58: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri convolutivi (3)

● Per eseguire una convoluzione è necessario definire prima il kernel della convoluzione

● Il kernel di un filtro spiega come il filtro stesso si comporta: la sua definizione è fondamentale

● Vedremo molti esempi di kernel “notevoli” ovvero di kernel classici atti a svolgere particolari operazioni

● In due parole un kernel è una matrice che descrive come un pixel ed i suoi “vicini” sono utilizzati per calcolare il nuovo valore del pixel

Page 59: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri convolutivi (4)

● Matematicamente un kernel è rappresentabile come una griglia (solitamente) quadrata

● Mentre l'operazione svolta può essere vista come la “somma dei prodotti” di tutti gli elementi del kernel per gli elementi dell'immagine

K=[k 0,0 k 0,1 k 0, n

k 1,0 k 1,1 k 1, n

k n ,0 k n ,1 k n , n

] F x , y=∑i , j

k i , j⋅I xi , y j

Page 60: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri convolutivi (5)

Il modo migliore per capire il comportamento di un filtro convolutivo è tramite un esempio banale fatto

“su carta”

Page 61: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il problema dei bordi

● Un problema che si presenta è quello dei bordi: come si fa la convoluzione ai bordi?

● Possibili soluzioni:– filtrare solo le zone centrali dell'immagine– supporre che tutto intorno all'immagine ci sia 0,

oppure duplicare il pixel accanto– assumere una topologia “toroidale”: quando si “sfora

a destra” si rientra a sinistra, quando si “sfora” in basso di rientra in alto e viceversa

● Ogni software fa scelte differenti e/o permette all'utente di decidere come deve comportarsi

Page 62: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il problema dell'overflow

● Anche con le operazioni di convoluzione si rischia di ottenere un overflow

● Anche in questo caso i software di elaborazione si comportano in modo differente anche se la tendenza maggiore prevede il troncamento agli estremi

● Come nel caso precedente anche qui si rischia di avere un risultato anomalo e totalmente differente da cosa ci si aspettava

● Sfortunatamente non c'è molto da fare

Page 63: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● Filtri convolutivi– provare ad inventare dei kernel per filtri convolutivi e

verificare che effetto hanno sulle immagini– provare con diverse tipologie di immagini (PNG, GIF,

JPEG, ecc.) e verificare come cambia il risultato– provare anche con più layer utilizzando diversi

sistemi di sovrapposizione– provare i vari sistemi di gestione dei bordi– verificare le problematiche di overflow

Page 64: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro N-Box● Sono definiti da kernel NxN con ogni elemento pari a

1/N2 (con N solitamente dispari)● Hanno l'effetto di “sfocare” (o sfumare) le immagini● La sfocatura è molto forte in orizzontale e verticale ma

meno in diagonale● Esempi:

19×

1 111 111 11

125

× 1 11 1 11 11 1 1

1 11 1 1

1 11 1 1

1 11 1 1

3-Box5-Box

Page 65: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo
Page 66: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro N-Binomiale● Sono filtri di smussamento con kernel derivati dalla

“distribuzione binomiale” e sono anche detti filtri gaussiani

● Hanno il pregio di smussare egualmente in tutte le direzioni

● Smussano meno vigorosamente degli N-box● Esempi:

116

×2 114 222 11

3-Box5-Box

1256

× 24 366 24 616 244 16 44 61 4 1

16 244 16 44 61 4 1

Page 67: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo
Page 68: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

La conservazione dell'energia

● I filtri appena presentati hanno una caratteristica molto importante: la somma di tutti gli elementi del kernel da sempre 1

● Con abuso di linguaggio, derivato dalla Fisica, si dice che tali filtri conservano l'energia o sono energy preserving

● Questo comporta che la somma dei valori totali della luminanza nella immagine non cambia

● L'immagine non si illumina ne scurisce● Esistono anche filtri non energy preserving

Page 69: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I lati orizzontali

● Questo tipo di filtro trova (dando un alto valore di luminanza) i “lati” cioè le zone di forte transizione chiaro/scuro

● Ne esistono molte versioni più o meno efficienti, ma in realtà la edge detection è un problema ancora aperto dell'informatica

● Esempi:

-1 -1-10 001 11

X-Edge-2 -1-10 002 11

X-Sobel

Page 70: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo
Page 71: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I lati verticali

● La situazione è identica nel caso dei lati verticali

● Ovviamente i filtri sono solo ruotati di 90 gradi

● Esempi:

0 1-10 1-10 1-1

Y-Edge0 1-10 2-20 1-1

Y-Sobel

Page 72: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo
Page 73: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il problema della edge detection

● Come già detto il problema della edge detection non è ancora pienamente risolto, anzi è un problema, probabilmente, in generale irrisolvibile

● In ogni caso migliori risultati si ottengono:– con un'equalizzazione dopo l'applicazione dei filtri– con algoritmi più sofisticati (non lineari) per il calcolo

della grandezza del gradiente (somma del quadrato della risposta di un edge finder orizzontale e del quadrato della risposta di un edge finder verticale)

– con strategie più “intelligenti” (algoritmo di Canny, algoritmi fuzzy, tecniche di backtracking, ecc.)

Page 74: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro Laplaciano

● I filtri per l'individuazione dei lati (edge finding) appena presentati sono “approssimazioni al discreto” di un'operazione dell'analisi matematica (la derivata prima)

● Analogamente è possibile “approssimare” un'altra operazione (la derivata seconda) ed ottenere quindi l'operatore Laplaciano definito dalla maschera:

-1 004 -1-1-1 00

Page 75: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo
Page 76: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

La conservazione dell'energia: atto 2

● Riprendiamo la discussione inerente la conservazione dell'energia nei filtri convolutivi

● Nel caso dei filtri di edge finding la somma di tutti gli elementi del kernel da sempre 0

● Ciò vuol dire che l'immagine ha “perso” la sua energia e sono rimasti solo i suoi “picchi”

● L'immagine si è fortemente scurita● In generale i filtri significativi danno sempre

come somma degli elementi del kernel un valore nell'intervallo [0, 1]

Page 77: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro di edge enhancing (1)

● Spesso non siamo interessati a trovare i “lati” di un'immagine ma a migliorarne la qualità, per esempio mettendola più “a fuoco”

● Questa è un'operazione opposta allo smoothing

● Per ottenere tale effetto si può adottare una maschera che, derivata dal Laplaciano, “rinforza” i lati presenti nell'immagine

Page 78: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro di edge enhancing (2)

● Purtroppo essa rinforza anche il rumore ed i difetti presenti nella immagine

● Si noti comunque che anche in questo caso la somma degli elementi del kernel vale 1

● Ciò vuol dire che questo filtro lascia inalterata l'energia media dell'immagine

-1 005 -1-1-1 00

Page 79: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro di edge enhancing (3)

Si osservi che aver migliorato i contorni ha anche messo in luce difetti e granularità dell'immagine inizialeSi osservi anche la particolare “texture” a quadretti di 8x8 pixel che è creata non dalla immagine ma dal JPEGA breve vedremo un filtro non lineare per la edge enhancing molto comune: unsharp mask

Originale Edge Enhanced

Page 80: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Il filtro di shifting

● I kernel di convoluzione sono una fonte inesauribile di “effetti speciali” da sperimentare

● Un'applicazione molto banale è lo “shifting” di un'immagine di un offset (dx, dy) rispetto alle coordinate iniziali

● Lo shifting di due posizioni a destra e due in alto per esempio è realizzato dal kernel:

0 00 0 00 00 0 00 00 0 00 01 0 0

0 00 0 0

Page 81: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Filtri locali non lineari (1)

● I filtri convolutivi sono speciali filtri “locali” o “di intorno”

● Essi sfruttano le informazioni in un “vicinato” del pixel per calcolare la propria risposta– usando sempre le stesse operazioni (shift invarianza)– agendo in maniera lineare (linearità)

● Ovviamente si può sfruttare l'informazione locale anche in maniera più complessa non necessariamente lineare

Page 82: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Filtri locali non lineari (2)

● Tale operazione diviene spesso indispensabile per realizzare effetti e manipolazioni sofisticate

● Purtroppo l'analisi matematica di tali filtri è assai complessa e gli algoritmi che li implementano sono difficili da ottimizzare

● Per tale motivo noi vedremo solo il risultato finale cercando di capire “intuitivamente” come il filtro si comporta senza scendere nei dettagli tecnici

Page 83: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri order statistics (1)

● Una categoria di filtri locali non lineari assai usata è quella dei filtri order statistics

● Tali filtri, preso un intorno MxM di un pixel (con M generalmente dispari), sostituiscono il valore del pixel con il valore minimo (massimo, mediano, ecc.) di tutti i valori osservati in tale intorno

● A secondo della scelta fatta si possono ottenere risultati interessanti ed anche miglioramenti notevoli

Page 84: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri order statistics (2)

● Se si sostituisce con il minimo si ottiene un incupimento dell'immagine (si eliminano per esempio macchioline chiare)

● Se si sostituisce con il massimo si ottiene uno schiarimento dell'immagine (si eliminano per esempio i punti neri)

● Se si sostituisce con il mediano si ottiene uno smussamento che però a differenza di N-box rispetta meglio i lati

Page 85: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri order statistics (3)

L'immagine originale è stata “sporcata” con rumore nei quadranti NW e SE

L'immagine è stata filtrata con un filtro minimo applicato su intorni di 3x3 pixel

Page 86: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri order statistics (4)

L'immagine originale è stata “sporcata” con rumore nei quadranti NW e SE

L'immagine è stata filtrata con un filtro massimo applicato su intorni di 3x3 pixel

Page 87: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

I filtri order statistics (5)

L'immagine originale è stata “sporcata” con rumore nei quadranti NW e SE

L'immagine è stata filtrata con un filtro mediano applicato su intorni di 5x5 pixel

Page 88: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask:un algoritmo non lineare

● L'uso del kernel derivato dal Laplaciano per fare edge enhancing ha un difetto: esso viene applicato sempre a tutti i pixel dell'immagine

● Come conseguenza esso accentua i “dettagli” anche nelle zone omogenee mettendo in evidenza i difetti ed il rumore

● Sono stati proposti vari algoritmi per evitare questo fenomeno

● Gli algoritmi di tipo unsharp mask sono forse la più tradizionale tecnica usata a questo scopo

Page 89: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask:l'algoritmo (1)

● L'algoritmo procede come segue:– ottiene dall'utente un valore R detto raggio

(tipicamente nel range [1, 200])

– ottiene dall'utente un valore T detto soglia (tipicamente nel range [0, 255])

– ottiene dall'utente un numero C detto fattore di correzione (tipicamente nel range [0, 1], anche se alcuni software preferiscono usare altri valori o valori percentuali)

Page 90: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask:l'algoritmo (2)

● Per ogni pixel:

– se il range dinamico (la massima variazione di toni) in un intorno centrato nel pixel con raggio R è inferiore alla soglia T non si fa nulla

– altrimenti si sostituisce il valore del pixel con quello calcolato secondo lo schema presentato nella successiva slide

Page 91: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask:l'algoritmo (3)

● Se il test precedente non è stato verificato si procede come segue:– sia P il valore di partenza del pixel– si applichi un filtro di smoothing (N-box oppure N-

binomiale) al pixel– sia S il nuovo valore che si ottiene per il pixel– si sostituisca P con il nuovo valore V secondo la

formula:

– con C il parametro ottenuto nella prima fase

V= C2⋅C−1

⋅P−1−C 2⋅C−1

⋅S

Page 92: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask:l'implementazione

● Sfortunatamente non tutti i programmi forniscono l'unsharp mask come è stato appena presentato oppure lo forniscono sotto “ falsi nomi”

● La Tipica interfaccia utente è quella riportata in figura

R C T

Page 93: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Unsharp mask

Page 94: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Volevano stupirvicon effetti Speciali!!Cosa non si riesce a fare???

Page 95: Informatica per la Grafica - leoausili.it · Informatica per la Grafica Lezione 4 Operazioni classiche sulle immagini Di Blasi Gianpiero - D.M.I. - Università di Catania. Cosa impareremo

Esercizi

● C'è bisogno di dirvi cosa dovete fare??– sbizzarritevi con i filtri!!– provare tutto il provabile!!– date sfogo alla fantasia!!

Non andremo avanti finché non vedrò qualcosa di eccezionale fatto “semplicemente” con i filtri