Elementi di grafica raster

Похожие документы
Elementi di grafica raster

Le immagini digitali. Introduzione

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

L istogramma. Interazione & Multimedia 2

Le immagini digitali

CODIFICA IMMAGINI IN BIANCO E NERO

Tecnologie Multimediali a.a. 2016/2017. Docente: DOTT.SSA VALERIA FIONDA

La codifica delle immagini

RAPPRESENTAZIONE DELLE INFORMAZIONI

Cenni di fotogrammetria LE IMMAGINI DIGITALI

Corso di Informatica modulo Informatica di Base 6 CFU. Immagini digitali: concetti di base

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda

La codifica del testo

Telerilevamento e Modellistica Forestale

Informazione binaria: suoni, immagini, sequenze video

Le immagini. Parametri importanti sono:

Tecniche di enfatizzazione

Istogramma dei livelli di grigio

Codifica dell Informazione

L informazione grafica. Le immagini digitali. Esempi. Due grandi categorie. Introduzione

Esercitazione su filtro di Sobel per l elaborazione delle immagini

Corso di Telerilevamento Lezione 2

Algoritmi per il riconoscimento dell iride

La codifica delle immagini

Elaborazione dei dati. pkt /9

La rappresentazione cartografica è una forma di descrizione del territorio fondata sulla restituzione delle relazioni spaziali di elementi geografici

Транскрипт:

Elementi di grafica raster

Segnali mono-bidimensionali Segnale: variazione di una grandezza fisica rispetto al tempo e/o allo spazio cioè Valore della grandezza ad ogni istante di tempo (spazio) Un segnale è una funzione dipendente da una o più variabili Un segnale monodimensionale dipende da una unica variabile (tempo). Ad es. i segnali audio Un segnale bidimensionale dipende da due variabili (coordinate x,y). Ad es. le immagini stazionarie Un segnale tridimensionale dipende da tre variabili. Ad esempio (x,y,t) per i video

Segnali analogici e digitali Un segnale analogico è una funzione continua La funzione f : D D (che descrive il segnale) è una funzione continua, se i due insiemi D e D sono continui Un segnale digitale è una funzione discreta La funzione f : D D (che descrive il segnale) è una funzione digitale, se i due insiemi D e D sono discreti

Digitalizzazione Campionamento: il segnale viene misurato a intervalli discreti Frequenza di campionamento: numero di campioni in un intervallo di tempo ( o spazio) Quantizzazione: i valori o ampiezza del segnale sono quantizzati in un numero di livelli discreti Segnale analogico Campionamento Segnale digitale

Geometria digitale Una immagine digitale è una funzione digitale del tipo: f : D [0,255] dove D è un dominio discreto, costituito da coppie di coordinate x,y. D è chiamato griglia di campionamento Il punto della geometria corrisponde ad un vertice della griglia

Immagine digitale Una immagine digitale è una matrice di NxM elementi di valori non negativi Ogni elemento immagine è chiamato pixel (picture element) Sia g=numero di livelli di grigio di una immagine f se g=2 k ogni pixel occupa k bit Una immagine di NxM pixels occupa b = (N M k) bit

Immagine digitale Una immagine digitale f(j,k) si può rappresentare con una matrice di NxM elementi di valori non negativi k j f(0,0) f(0,n-1).... f(n-1,0)..f(n-1,n-1) Sistema di riferimento immagine (j,k): ascisse x= k (colonne); ordinate y= -j (righe)

Immagine digitale Dimensione numero di pixel della immagine Grandezza - misura in cm o inch di una riga e/o di una colonna Risoluzione si misura in punti/cm o punti/inch dpi dot per inch ( 1 inch ----- 2.54 cm) Si ha: dimensione(pixel) = grandezza (cm) * risoluzione (pixel/cm)

Grandezza di una immagine Grandezza (cm) = dimensione (pixel)/risoluzione (pixel/cm) risoluzione dimensione 72 dpi 300 dpi 1500 dpi 192x128 6.78 x 4.53 cm 1.63 x 1.09 cm 0.23 x 0.33 cm

Immagine a colori Una immagine a colori può essere rappresentata direttamente mediante 3 componenti - Rosso (R), Verde (G), Blu (B), generalmente si utilizza un byte per ciascuna componente Il formato BitMaP BMP utilizza la rappresentazione diretta del colore

Immagine a colori - RGB Ogni pixel è rappresentato da (r,g,b) r g b valore della componente red valore della componente green valore della componente blue

Indexed color I formati Gif, Tif, Png, usano una rappresentazione indexed del colore ed utilizzano una sola look-up table di 4 oppure 8 bit Un pixel di una immagine con il colore rappresentato in modo indexed è rappresentato con 4 oppure 8 bit Ogni valore è un indice in una palette di 16 oppure 256 colori

Palette tavolozza di colori Una delle più comuni Look up Table è la colormap o palette Una palette descrive 256 colori codificati con 0,1,..255- valori dei pixel di una immagine Ogni elemento della palette è una terna di valori RGB Palette Pixel value R G B 0 R 0 G 0 B 0.. 255 R 255 G 255 B 255

True color indexed color True color: ogni locazione nel frame buffer contiene il valore di colore assegnato al pixel corrispondente Falso colore: ogni locazione nel frame buffer contiene un indirizzo alla LUT nella quale viene registrato il valore di colore desiderato

Risoluzione e dinamica La dimensione del frame buffer determina la risoluzione spaziale della immagine La lunghezza di parola nel frame buffer determina il numero di colori simultaneamente visualizzabili: la dinamica Parole di 32 bit consentono di registrare informazioni sul canale alfa

Alfa channel Contiene valori tra 0 e 1 ed indica come miscelare più immagini con operatori aritmetici Ad esempio siano ima e im B 2 immagini senza alfa: ima+imb= def p A (x,y)+p B (x,y) clipping(255) = 0 se p A (x,y)+p B (x,y) 0 255 se p A (x,y)+p B (x,y) 255 con alfa p A (x,y) + p B (x,y) altrimenti a* ImA+(1-a) *ImB = def a p A (x,y)+(1-a) p B (x,y) clipping(255)

Operatori Un operatore op trasforma una immagine f in una nuova immagine g ff op g Operatori puntuali - operano su ciascun pixel indipendentemente da tutti gli altri Operatori locali operano su un intorno di ciascun pixel Operatori globali - operano sull intera immagine

Operatori puntuali e locali f(i,j) g(i,j) Ogni pixel i,j della immagine f è trasformato nel pixel i,j dell immagine g Ogni valore g(i,j) viene calcolato sulla base dei valori di un intorno del pixel f(i,j)

Operatori globali............ Ogni valore g(i,j) viene calcolato sulla base dei valori di tutti i pixel di f

Operatori puntuali Gli operatori puntuali riguardano le trasformazioni della scala di grigio e dell istogramma di una immagine Sia f una immagine a livelli di grigio Scala di grigio di una immagine f: intervallo (a,b) dei valori di f tale che a<= f(i,j)<= b Istogramma della immagine f: frequenza di occorrenza di ogni livello i

Operatori puntuali Le trasformazioni della scala di grigio e dell istogramma possono essere utilizzate per migliorare il contrasto di una immagine Il contrasto di una immagine è dato da una variazione locale della brillanza dei pixel

Trasformazione lineare della scala di grigio Sia [a,b] l intervallo dei valori della immagine f Si considerano 2 casi l intervallo [a,b] è contenuto nell intervallo [0,255] [a,b] [0,255] oppure l intervallo [a,b] contiene l intervallo [0,255] [0,255] [a,b] [0,255] è l intervallo dei dei livelli di di grigio standard per per la la visualizzazione

Trasformazione lineare dei livelli di grigio [a,b] [0,255] 255 Livelli finali l 255/(b-a) 255/(b-a) =l /(l-a) =l /(l-a) l l =255 =255 (l-a)/(b-a) (l-a)/(b-a) 0 a l b 255 Livelli di grigio originali a b Scala di grigio originale: [a,b] 0 255 Scala di grigio trasformata: [0,255]

Trasformazione lineare dei livelli di grigio con clipping [0,255] [a,b] Livelli finali 255 I I livelli livelli l 1 l < 1 0 sono sono posti posti a zero zero I I livelli livelli l 2 l >255 2 >255 sono sono posti posti a zero zero a 0 255 Livelli di grigio originali b

Look-up table Una trasformazione di scala T si può definire mediante una look-up table di L elementi Una look-up table è un vettore in cui ogni elemento i memorizza il livello T(i) trasformato di i Look-up(i) = T(i) per i = 0, L-1 Per Look-Up Table (LUT) si intende una struttura datigeneralmente un array- utilizzata per sostituire operazioni di calcolo a runtime con una più semplice operazione di consultazione (lookup, in inglese)

Trasformazioni di scala Una trasformazione di scala di grigio non dipende dalla posizione x,y del pixel nella immagine f a cui si applica E una trasformazione puntuale: si applica ad ogni pixel dell immagine indipendentemente da tutti gli altri

Istogramma Sia f(x,y) una immagine con L livelli di grigio: 0 f(x,y) L-1 L istogramma h(i) dei livelli di una immagine f rappresenta la frequenza di occorrenza di ogni livello i

Istogramma 1 4 2 1 1 4 0 0 2 5 2 0 0 1 2 4 2 1 1 0 Nella figura l istogramma mostra graficamente il numero di volte in cui un particolare livello di grigio occorre nella immagine 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 immagine istogramma

Istogramma di immagini a colori Nello spazio RGB si possono calcolare gli istogrammi individuali per ogni componente: ad esempio per la componente blue Blue

Modifica di un istogramma L istogramma costituisce una informazione globale relativa alla immagine f: tutti i pixel di un particolare valore i contribuiscono a popolare il bin i dell istogramma h(i) = n i - numero di pixel aventi valore i L istogramma può essere modificato per ottenere una differente distribuzione dei livelli di grigio

Trasformazioni di istogrammi Operazione puntuale: T(j) =k j k livelli di grigio T Si vuole una trasformazione T: j k tale che se il livello j ha frequenza h(j) allora il livello k ha frequenza g(k)

Istogramma cumulato Definizione di istogramma cumulato h c (i) per i=0..l max h c ( i) j= 0 Ogni elemento h c (i) è uguale alla somma degli elementi h(0), h(1),..h(i) h c (0) = h(0) h c (1) = h(0) + h(1). h c (L max ) = h(0) + h(1)+..+ h(l max ) = n = i h( i) Se l istogramma è uniforme allora l istogramma cumulato è una retta

Equalizzazione o linearizzazzione di un istogramma Per equalizzazione di un istogramma si intende la trasformazione di una distribuzione di livelli in una distribuzione uniforme: la frequenza g(i) di ogni livello dell istogramma trasformato è approssimativamente costante g(i) costante per i =0..(L max ) e L max uguale al livello di grigio massimo La trasformazione rende l istogramma della immagine di output approssimativamente corrispondente all istogramma uniforme

Equalizzazione o linearizzazzione di un istogramma Definizione di istogramma cumulato h c (i) per i=0..l max h c ( i) = Sia h(i) l istogramma di una immagine f. Se l istogramma h è uniforme allora l istogramma cumulato è una retta j= 0 L equalizzazione dell istogramma iniziale h(i) può essere ottenuta imponendo che l istogramma equalizzato h c (i) sia lineare i h( i)

Istogramma cumulato di una distribuzione uniforme n Istogramma cumulato h c i i h( j= 0 j ) = L n max 0 i Lmax Livelli di grigio

Equalizzazione di istogrammi La trasformazione si può ottenere dalla formula: i i h( j= 0 j ) = L n max h( i = 0,1,2,...,L max n imponendo che ogni livello i abbia istogramma cumulato uguale a i h( j= 0 j= 0 dove Lmax: numero dei livelli di grigio nella immagine (ad esempio 255) n j : numero di volte in cui il livello j appare nella immagine n: numero totale di pixel nella immagine i n L j ) j ) = * max i = i j= 0 j

Operatori locali f(i,j) Gli operatori locali associano ad ogni pixel (i,j) di una immagine f un valore calcolato sulla base dei valori di un intorno o finestra centrata nel pixel (i,j) Per eseguire una elaborazione locale l immagine viene esplorata in una sequenza prefissata ad esempio da sinistra a destra e dall alto verso il basso

Operatori locali w(i,j) è una maschera 3 x 3 h = w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w 9 Finestra immagine di dimensione 3 x 3 f(x-1,y-1) f(x,y-1) f(x+1,y-1) f(x-1,y) f(x,y) f(x+1,y) f(x-1,y+1) f(x,y+1) f(x+1,y+1) x (x,y) y Il valore del pixel centrale è calcolato come somma pesata di f secondo i coefficienti w i : g( x, y) = w + w + w 1 4 7 f ( x 1, y 1) + w f ( x, y 1) + w f ( x + 1, y 1) + w 5 2 f ( x, y) + w 8 f ( x 1, y) + w 6 3 f ( x, y + 1) f ( x + 1, y) + w 9 f ( x 1, y + 1) f ( x + 1, y + 1)

Convoluzione Siano f(x,y) una immagine di dimensione NxN w(x,y) una maschera spaziale di dimensione LxL L operazione di convoluzione della immagine f(x,y) con w(x,y) con origine nel centro della maschera si può esprimere nel modo seguente g( x, y) L 1 L 1 = = w( i, j)* f ( x L / 2 + i, y L / 2 + j) i= 0 j 0 L immagine di output g(x,y) è influenzata soltanto dai pixel che si trovano in un intorno di dimensione uguale a quella della maschera spaziale

Image Smoothing Se i valori della maschera w sono uguali a 1/9 la convoluzione di w con l immagine iniziale produce per ogni pixel (i,j) un valore pari al valore medio dei pixel dell intorno 3x3 di (i,j) 1 9 1 1 1 1 1 1 1 1 1 Si ottiene una immagine meno contrastata di quella iniziale con riduzione del rumore

Filtro Gaussiano Si utilizza quando si vuole che il pixel in esame abbia maggiore importanza nel calcolo del nuovo valore di grigio, rispetto a quelli del suo intorno: il peso di tale pixel sarà maggiore rispetto a quello dei pixel dell intorno 1 16 1 2 1 2 4 2 1 2 1 Il fattore moltiplicativo serve a normalizzare la somma dei pesi a 1. In tal modo il range dei valori di output risulta uguale a quello dei valori di input

Prewitt e Sobel Maschere di Prewitt per evidenziare linee orizzontale e linee verticali -1-1 -1 0 0 0 1 1 1-1 -2-1 0 0 0 1 2 1-1 0 1-1 0 1-1 0 1 Maschere di Sobel per evidenziare linee orizzontale e linee verticali -1 0 1-2 0 2-1 0 1