immagini binarie - binarie.pdf · 1 Immagini binarie Binarizzazione di immagini a livelli di grigio…

  • View
    213

  • Download
    0

Embed Size (px)

Transcript

  • 1

    Immagini binarie

    Binarizzazione di immagini a livelli di grigio

    Immagini binarie

    In molti casi gli le scene di interesse conducono ad immagini che possono essere considerate binarie, cio contenenti nel caso ideale solo due livelli di grigio (bianco, nero)Esempi:

    testo stampato, manoscritto, graficaparti meccaniche piatte, sagome

  • 2

    Immagini binarie

    In altri casi, le immagini in analisi sono intrinsecamente a pi livelli di grigio, ma lunico contenuto rilevante dato dalla forma degli oggetti, delle regioni o delle linee.Anche in queste circostanze il modello ideale unimmagine a due livelli.

    Il problema della binarizzazione

    Dopo lacquisizione di una scena da parte di un sensore (telecamera o scanner), limmagine che si ottiene comunque formata da numerosi livelli di grigio (tipicamente 256).Le ragioni sono riconducibili a:

    illuminazione non omogenea della scenabanda limitata del sistema che limita la ripidezza dei fronti in corrispondenza dei bordidistorsioni impresse dal sistema ottico

  • 3

    Il problema della binarizzazione

    Sono quindi necessari degli algoritmi per la trasformazione di unimmagine a livelli di grigio in immagine binaria (binarizzazione), in modo da conservare quanto pi possibile il contenuto rilevante.In letteratura sono stati proposti numerosi algoritmi di binarizzazione. Ci giustificato dallintrinseca difficolt del problema e dalla diversit delle caratteristiche delle immagini da trattare

    Binarizzazione a soglia fissa

    La soluzione pi semplice quella di fare uso di una soglia fissa S per cui la binarizzazione si realizza tramite la trasformazione:

    0 se x=S

  • 4

    Esempio

    Soglia troppo bassa

  • 5

    Soglia troppo alta

    Valutazione della soglia

    La difficolt in questo caso data dallindividuazione del valore della soglia S che renda efficace loperazione di binarizzazione.Esistono diversi metodi per valutare la soglia automaticamente a partire dallistogramma dei livelli di grigio dellimmagine originale.

  • 6

    Valutazione della soglia su istogramma bimodale

    In alcuni casi favorevoli, listogramma dellimmagine da binarizzare presenta un andamento nettamente bimodaleSono cio presenti due picchi (modes) che rappresentano distintamente lo sfondo e gli oggetti presenti nella scenaIn questo caso, la soglia viene fissata in corrispondenza del punto di minimo tra i due picchi

    Valutazione della soglia su istogramma bimodale

  • 7

    Valutazione della soglia su istogramma bimodale

    0 50 100 150 200 2500

    2000

    4000

    6000

    8000

    10000

    12000

    Valutazione della soglia su istogramma bimodale

    Soglia S=135

  • 8

    Valutazione della soglia su istogramma bimodale

    La determinazione della soglia richiede quindi la preventiva individuazione dei due picchi nellistogramma.Mentre lindividuazione del primo dei due picchi semplice (coincide con il livello di grigio a massimo valore nellistogramma), trovare il secondo picco pu essere pi difficile, in quanto non detto che coincida con il secondo valore pi grande nellistogramma.

    Valutazione della soglia su istogramma bimodale

    0 50 100 150 200 2500

    2000

    4000

    6000

    8000

    10000

    12000

    picco 1(massimo assoluto)

    picco 2

    secondo massimo

  • 9

    Valutazione della soglia su istogramma bimodale

    Un espediente piuttosto efficace quello di cercare il secondo picco dopo aver moltiplicato i valori dellistogramma per il quadrato della distanza dal primo picco

    max2 = max[ (k-j)2 h(k) ] 0

  • 10

    Valutazione della soglia su istogramma modificato

    In questi casi, pu essere utile distinguere il contributo dellistogramma che viene dai pixel di bordo da quello che viene dai pixel delloggetto e dello sfondo.Coma gi visto, le due classi di pixel si possono individuare in base al valore del gradiente dellimmagine:

    alto valore del gradiente pixel di bordobasso valore del gradiente pixel non di bordo

    Valutazione della soglia su istogramma modificato

    Si pu quindi considerare, in luogo dellistogramma dellintera immagine, listogramma generato da una delle due classi di pixel e cercare il valore di sogliaPassi della binarizzazione:

    1. si valuta il gradiente dellimmagine2. si calcola listogramma considerando solo i pixel

    ad alto (o basso) gradiente3. si determina la soglia

  • 11

    Esempio di uso del gradiente per la binarizzazione

    Esempio di uso del gradiente per la binarizzazione

    0 50 100 150 200 2500

    0.5

    1

    1.5

    2

    2.5x 104

  • 12

    Esempio di uso del gradiente per la binarizzazione

    Esempio di uso del gradiente per la binarizzazione

    0 50 100 150 200 250 300 350 400 450 5000

    1000

    2000

    3000

    4000

    5000

    6000

    7000

    soglia per selezionare i punti su cui valutare listogramma

  • 13

    Esempio di uso del gradiente per la binarizzazione

    0 50 100 150 200 2500

    1000

    2000

    3000

    4000

    5000

    6000

    7000

    8000

    Istogramma dei punti con gradiente 50

  • 14

    Esempio di uso del gradiente per la binarizzazione

    immagine originale binarizzata con soglia = 50

    IS(50)

    Esempio di uso del gradiente per la binarizzazione

    immagine originale binarizzata con soglia = 100

    IS(100)

  • 15

    Esempio di uso del gradiente per la binarizzazione

    immagine originale binarizzata con soglia = 200

    IS(200)

    Esempio di uso del gradiente per la binarizzazione

    regioni dellimmagine originale con valori >100 e < 200

    IS(200)IS(100)

  • 16

    Valutazione della soglia basata sulla separabilit delle classi

    Questo algoritmo (dovuto ad Otsu) valuta la soglia S analizzando la qualit della distribuzione dei livelli di grigio tra la due classi (oggetto e sfondo) che la scelta della soglia induce.Si consideri listogramma normalizzato dellimmagine:

    dove p(k) stima la probabilit di comparsa del livello di grigio k.

    =

    = 255

    0kh(k)

    h(k)p(k)

    Valutazione della soglia basata sulla separabilit delle classi

    Per un fissato valore della soglia S, si determina una ripartizione dei livelli di grigio in due classi K0 e K1.

    Le probabilit che un pixel appartenga ad una delle due classi sono:

    =

    =S

    0k0 p(k)P 0

    255

    1Sk1 P1p(k)P ==

    +=

  • 17

    Valutazione della soglia basata sulla separabilit delle classi

    I livelli di grigio medi nelle due classi sono:

    per cui il livello di grigio medio nellintera immagine m = P0m0+P1m1.Si calcolano poi le varianze nelle due classi:

    =

    =S

    0k0 p(k)km

    +=

    =255

    1Sk1 p(k)km

    ( )=

    =S

    0k

    20

    20 p(k)mk ( )

    +=

    =255

    1Sk

    21

    21 p(k)mk

    Valutazione della soglia basata sulla separabilit delle classi

    A questo punto possibile valutare la varianza tra le classi B2 e la varianza interna alle classi W2 :

    Mentre la prima misura la separazione tra le due classi di livelli di grigio, la seconda ne misura la compattezza.

    ( ) ( )2112002B mmPmmP +=211

    200

    2w PP +=

  • 18

    Valutazione della soglia basata sulla separabilit delle classi

    Lobiettivo del metodo quello di individuare il valore della soglia S per cui si massimizza la separazione tra le classi e la compattezza di ciascuna.

    Ci equivale a massimizzare il rapporto

    (S)(S)(S) 2

    W

    2B=

    Valutazione della soglia basata sulla separabilit delle classi

    Algoritmo:calcola (0); max=(0); S=0;for k=1 to 255

    calcola (k);if ((k) > max)

    max=(k); S=kend if

    end for

  • 19

    Algoritmo di OtsuEsempio

    0 50 100 150 200 2500

    100

    200

    300

    400

    500

    600

    700

    Algoritmo di OtsuEsempio

    0 50 100 150 200 250 3000.0

    0.2

    0.4

    0.6

    0.8

    1.0

    1.2

    1.4

    1.6

    1.8

    2 .0

    t = 96

    max = 1.7995

  • 20

    Algoritmo di OtsuEsempio

    0 50 100 150 200 2500

    100

    200

    300

    400

    500

    600

    700

    Algoritmo di OtsuEsempio

  • 21

    Compensazione dello sfondo

    Al segnale dimmagine pu spesso sovrapporsi un segnale spurio di fondo che si produce nel corso dellacquisizione dellimmagine e dovuto allilluminazione della scena o alla disomogeneit del fondo.E opportuno rimuovere tale segnale spurio (compensazione dello sfondo) prima della binarizzazione in quanto potrebbe causare degli artefatti nellimmagine binarizzata.

    Compensazione dello sfondoLa compensazione dello sfondo pu essere semplicemente realizzata sottraendo dallimmagine da trattare limmagine dello sfondo ripreso in assenza di oggetti e mantenendo le stesse condizioni di illuminazione e di configurazione del sensore.Se limmagine dello sfondo vuoto non disponibile, si pu utilizzare in sua vece il risultato di un filtraggio dellimmagine ottenuto con un filtro di media molto ampio.

  • 22

    Esempio

    Compensazione