somme immagini

Download Somme Immagini

Post on 16-Jan-2016

217 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Somme e sottrazioni in Immagini e Suoni

TRANSCRIPT

  • Slide 1

    '

    &

    $

    %

    Somme e sottrazioni inImmagini e Suoni

    ANDREA MENNUCCI

    Scuola Normale Superiore, Pisa

    Slide 2

    '

    &

    $

    %

    Spazio vettoriale

    Uno spazio vettoriale V e un insieme di vettori; due vettori v, w V possono essere sommati osottratti; oppure, preso un numero reale s lR, si puo eseguire il prodotto s v (che ha la stessadirezione di v ma e` riscalato di un fattore |s|; se s > 0 allora s v ha lo stesso verso di v altrimenti ha

    verso opposto).

    Preso n intero positivo, lesempio principe di spazio vettoriale con n dimensioni e lRn,linsieme di tutte le n-ple di reali; due vettori di lRn possono essere, ad esempio,

    X = (x1, . . . , xn) , Y = (y1, . . . , yn)

    La somma e il prodotto si eseguono componente per componente:

    X + Y = (x1 + y1, . . . , xn + yn) , s Y = (s y1, . . . , s yn)

    X

    Y

    lR2 e associato al piano, mentre lR3 e associato allo spazio sico, usandocoordinate cartesiane.

    1

  • Slide 3

    '

    &

    $

    %

    Cosa e` unimmagine

    Prendiamo unaimmagine:

    CANALETTO, CAMPO DI RIALTO

    Slide 4

    '

    &

    $

    %

    Ingrandiamo molto un dettaglio: notiamo deiquadratini, che sono detti pixel.Ogni pixel P e identicato da unascissa i eunordinata j nel piano dello schermo, e do-vrebbe essere piu correttamente indicato comePi,j .

    2

  • Slide 5

    '

    &

    $

    %

    Ogni pixel ha un colore, che e` dato da una combinazione addittiva di rosso, verde e blu:questo modello del colore e` indicato dalla sigla RGB (dallinglese Red Green Blue).

    La intensita` di ognuno di questi 3 colori e` indicata da un numero, che assume convenzionalmente un valorecompreso fra 0 e 255. Il valore di un pixel e` cos` rapresentato da un numero a 3 coordinate, come ad es.

    P = (R, G, B) = (122, 100, 76)

    Tutti i colori che si possono visualizzare sono dunque contenuti in un cubo di lato 256. Il vertice (0, 0, 0)rappresenta il nero, il (255, 255, 255) il bianco.

    Se consideriamo una immagine alta 400 pixel e larga 500 pixel, essa sara` specificata da

    3 400 500 = 600.000

    numeri compresi fra 0 e 255.

    Possiamo pensare che ogni possibile immagine 400 500 sia un punto

    X = (R1,1, G1,1, B1,1, R1,2, . . . , B1,500, R2,1, . . . , B400,500)

    in uno spazio vettoriale lR600.000 con 600mila dimensioni.

    Slide 6

    '

    &

    $

    %

    Combinazione convessa

    Consideriamo due punti X e Y in uno spazio di vettori. La differen-za V = Y X e il vettore (tratteggiato nella gura) che parte dalpunto X e arriva ad Y ; dunque Y = X + V .

    X

    YV Z

    Sia ora s [0, 1] un numero reale compreso fra 0 e 1. Se moltiplichiamo s V otteniamo unvettore piu corto di V , ma sempre orientato nella stessa direzione e verso; il punto Z che siottiene come

    Z = X + s V = X + s (Y X) = X + s Y s X = (1 s) X + s Y

    e detto combinazione convessa dei due punti X e Y . Abbiamo visto nella formula come Z sipuo direttamente esprimere usando s, X, Y .

    Ad esempio se scegliamo s = 1/2, allora Z = X+Y2

    e il loro punto medio.

    La famiglia di tutti i punti Z che si ottengono al variare di s [0, 1] copre tutto il segmento fraX e Y .

    3

  • Slide 7

    '

    &

    $

    %

    Combinazione convessa di immagini

    Abbiamo detto che una immagine puo essere vista come un vettore con 600mila coordinate; seeffettuiamo la combinazione convessa di due immagini, otteniamo una dissolvenza (ininglese blend).

    X= , Y= , Z=

    $ blend.py

    Slide 8

    '

    &

    $

    %

    Cosa e` un suono

    Laria che ci circonda e un uido comprimibile, approssimativamen-te sottoposto alla pressione di 1 atmosfera 101kPa; una perturba-zione di questa pressione si propaga nello spazio (con legge mate-matica simile a quella che regola la propagazione delle onde delmare, e delle onde elettromagnetiche).

    Il nostro orecchio percepisce queste variazioni di pressione e le trasforma in impulsi nervosi.

    Un microfono le trasforma in variazioni di un segnale elettrico; una cassa acustica trasformaviceversa il segnale elettrico in suono.

    Possiamo cos interporre un computer fra il microfono e la cassa acustica, ed elaborare ilsegnale a nostro piacimento.

    4

  • Slide 9

    '

    &

    $

    %

    La variazione di pressione rispetto alla pressione media diventa dunque una funzione f(t) deltempo; questa viene registrata come un segnale elettrico, che rappresentiamo nel graco asinistra. (In ordinata abbiamo il segnale, in ascissa il tempo).

    -30000

    -20000

    -10000

    0

    10000

    20000

    30000

    -10 -5 0 5 10

    f(t)

    -30000

    -20000

    -10000

    0

    10000

    20000

    30000

    -10 -5 0 5 10

    f(t)

    Il segnale originale e tempo-continuo: associa ad ogni possibile tempo t un valore f(t); perregistrare questo segnale in un computer (o in un CD), ci servirebbero inniti numeri reali, equesto non e possibile. Ricorriamo al campionamento: registriamo un certo numero n di valoridi corrente in ogni secondo. Il risultato si vede nel graco a destra. Vediamo anche in questosemplice esempio che il campionamento comporta una perdita di qualita del segnale.

    Slide 10

    '

    &

    $

    %

    Nel caso dei CD Audio, si registrano 44.100 valori per ogni secondo, per ognuno dei due canaliaudio stereo. Per un teorema dovuto a Nyquist, un segnale campionato a 44.100Hz non puorappresentare frequenze superiori a 22.050Hz ; queste frequenze vengono cancellate dai segnali;queste frequenze sono pero ai limiti di quelle che lorecchio puo sentire.

    5

  • Slide 11

    '

    &

    $

    %

    Somma e differenza

    Presi due numeri reali L e R, calcoliamo la loro media M e la loro semidifferenza S

    M =L + R

    2, S =

    R L

    2

    Conoscendo M e S, possiamo facilmente ricavare L e R come

    L = M S , R = M + S

    Applichiamo questa semplice trasformazione al canale sinistro L e destro R di un audio: inquesto caso prende il nome di metodo MID-SIDE (dallinglese); questo metodo ha dueimportanti applicazioni.

    Slide 12

    '

    &

    $

    %

    Prima applicazione del MID-SIDE: stereo surround

    Introduciamo un parametro s 0 reale in modo da denire due nuovi canali

    L = M s S , R = M + s S

    Ascoltiamo il suono di L, R. [$ audio.py -1]

    s = 0 si avra L = R = M ; verra riprodotto la versione mono dellaudio

    s (0, 1) si avra un effetto mono

    s = 1 si ha il segnale stereo originale L = L, R = R

    s > 1 si avra un effetto stereo surround

    M

    M

    L R

    R

    L

    LL

    ~R~

    s=1,5

    s=0.5 R~~

    S

    PROBLEMA: COSA SUCCEDE PER s < 0? [vedremo la seconda applicazione nella slide 21]

    6

  • Slide 13

    '

    &

    $

    %

    MID-SIDE come cambio di coordinate

    Consideriamo unistante di tempo t, e i valori dei segnali destro e sinistro Rt, Lt allistante t:questi valori giacciono in un quadrato nel piano; in questo piano, i corrispondenti valori Mt, Stcorrispondono a un sistema di coordinate ortogonali che sono ruotate rispetto alle originali.

    R

    L

    MS

    M = L+R2

    , S = RL2

    L = M S , R = M + S

    Abbiamo detto che i tre colori R, G, B di un pixel P giacciono in un cubo; anche in questo casopuo essere utile effettuare un cambio di coordinate.

    Slide 14

    '

    &

    $

    %

    cambio di coordinate di colori

    Siano R, G, B tre valori reali; deniamoY, Cr, Cb come

    Y = R+G+B

    3

    Cr = RG+B

    2

    Cb = B G

    Questo si inverte con

    R = Y + 23Cr

    G = Y 13Cr

    1

    2Cb

    B = Y 13Cr +

    1

    2Cb

    R

    G

    B

    Cr

    Cb

    Y

    nero rosso

    blumagenta

    giallo

    verde

    bianco

    grigio

    azzurro

    I tre nuovi assi Y, Cr, Cb sono ortogonali (ma non ortonormali).Questa e` una versione semplificata della definizione ufficiale; si veda in http://en.wikipedia.org/wiki/YCbCr

    7

  • Slide 15

    '

    &

    $

    %

    Per chi conosce le matrici, la trasformazione si scrive anche come

    Y

    Cr

    Cb

    = M

    R

    G

    B

    con M =

    1

    3

    1

    3

    1

    3

    1 12

    12

    0 1 1

    R

    G

    B

    = M1

    Y

    Cr

    Cb

    con M1 =

    1 23

    0

    1 13

    12

    1 13

    1

    2

    Slide 16

    '

    &

    $

    %

    Per capire lutilita` di questa trasformazione, introduciamo 3 parametri reali y, cr, cb. Prendiamo unaimmagine X . Possiamo costruire una nuova immagine X in questo modo: prima trasformiamo il colore diogni pixel di X come visto sopra 0

    BB@Y

    Cr

    Cb

    1CCA = M

    0BB@

    R

    G

    B

    1CCA

    poi moltiplichiamoY = y Y, Cr = cr Cr, Cb = cb Cb

    indi ricreiamo i colori 0BB@

    R

    G

    B

    1CCA = M1

    0BB@

    Y

    Cr

    Cb

    1CCA

    e li inseriamo nel pixel dellimmagine X . [$ rgb.py -1]

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Confrontiamo questa trasformazione con una piu` semplice, in cui, scelti tre parametri reali r, g, b, si pone

    R = r R, G = g G, B = b B

    8

  • Slide 17

    '

    &

    $

    %

    La trasformazione Y, Cr, Cb viene usata nei televisori a colori PAL. Un televisore in bianco e