Visione Artificiale per
applicazioni multimodali
27 – Novembre– 2006
Ing. C. Spampinato
Overview
 Image Processing





Occhio umano
Discretizzazione
Immagini binarie
Enhancement
Spazi di Colori
 Strumenti
 Applicazioni multimodali
La Percezione Visiva
 Produce informazioni su:



Ciò che esiste nel mondo circostante
Dove gli oggetti sono localizzati
Come tali oggetti cambiano nel tempo
 Grazie a tale informazione, un sistema
biologico o automatico può conoscere il
mondo esterno ed interagire con esso
Occhio Umano
 La cornea è un tessuto spesso e
trasparente
che
ricopre
la
superficie anteriore dell'occhio e
serve a far convergere la luce in
esso incidente sul cristallino.
 La sclera, in continuazione della
cornea,è una membrana opaca
che ricopre il bulbo oculare nella
sua parte interna.
 La coroide contiene un insieme di
vasi sanguigni che portano la
maggior parte del nutrimento
all'occhio
 La retina contenente i recettori
fotosensibili
Occhio Umano
 Ai suoi estremi anteriori la coroide si divide in
due parti:


il corpo ciliare
l’iride
 Il cristallino (o lente) ha la funzione:


schermare dalle onde nello schermo
dell’infrarosso e dell’ultravioletto che possono
danneggiare l’occhio
mettere a fuoco l’immagine sulla retina
Occhio Umano
 La retina costituisce la membrana più interna
dell'occhio e misura circa 5cm x 5cm, ed è
l'elemento base su cui si fonda la visione;
 Il nervo ottico è il collegamento tra lo
strumento di acquisizione visiva (l'occhio) e
l'elaboratore delle immagini (il cervello),che le
interpreta, le processa, le archivia, ecc
Computer Vision
 La CV rappresenta la scienza che riproduce su
calcolatori elettronici il percorso cognitivo compiuto
dall’uomo nell’intepretazione della realtà.
 La CV è preposta allo studio di tecniche e tecnologie
per analisi di immagini finalizzate ad acquisire
informazioni sul mondo esterno.
 Le tecniche studiate devono supplire diversi livelli
cognitivi caratteristici della visione animale, da quello
più basso (acquisizione dell’immagine) a quelli più
elevato (interpretazione della scena)
Computer Vision
DIVERSI LIVELLI DI ANALISI
La visione artificiale si articola su tre livelli di
astrazione:
 LOW LEVEL: Produce una nuova immagine
 MIDDLE LEVEL: Estrae informazioni di tipo
strutturale
 HIGH LEVEL: Produce un’interpretazione
della scena
Low Level
 Operazioni preliminari:



Image Denoising
Regolazione del contrasto
Image sharpening
Fine: evidenziare o ridurre alcune caratteristiche
Risultato: immagine a partire da quella di ingresso
Middle Level
 Estrazione delle informazioni strutturali
dell’immagine di ingresso (ex: edges,contours)


Numero degli oggetti presenti nell’immagine
Relazione spaziale fra gli oggetti in essa
presenti
Fine: estrazione delle informazioni
Risultato: descrizione della struttura dell’immagine
e della forma degli oggetti in essa trovati
High Level
 La visione ad alto livello opera sulle informazioni
provenienti dalla visione a medio livello per comporre
un modello “semantico” della scena.
 Il modello semantico comprende un’interpretazione
della scena: ad esempio gli oggetti sono classificati o
riconosciuti.


Segmentation (partizionare img in regioni o oggetti)
Pattern recognition (classificazione di tali oggetti)
 In genere fa un largo uso di “conoscenza a priori”
 Produce una descrizione semantica della scena
Discipline Correlate
 Image Processing:
Riguarda le proprietà delle immagini e le
trasformazioni a cui possono essere
sottoposte (filtraggi, compressione,
registrazione 3-D, ecc.)
 Pattern Recognition:
Riconoscimento e classificazione di oggetti,
che possono essere non solo visuali (es.
voice recognition).
Immagine Digitale
 L'immagine è una funzione bidimensionale
F(x,y) della intensità luminosa il cui valore o
ampiezza ad una determinata coordinata
spaziale (x,y) determina l'intensità (cioè la
luminosità) dell'immagine in quel punto.
 L’immagine è intrinsecamente bidimensionale
mentre la scena che riprende è 3D.
 F(x,y) non è necessariamente uno scalare: se
ad esempio l'immagine è a colori, F(x,y) è
una funzione vettoriale:
F(x,y) = [f1(x,y) , f2(x,y) , f3(x,y)]
Immagine Digitale
 Le immagini che normalmente percepiamo
sono date essenzialmente dalla luce riflessa
dagli oggetti, dunque la F(x,y) risulta
costituita da due componenti principali:


La quantità di luce diretta incidente sulla
scena vista:
Componente di illuminazione i(x,y)
La quantità di luce riflessa dagli oggetti
presenti nella scena:
Componente di riflessione r(x,y)
F(x,y) = i(x,y) * r(x,y)
Risoluzione
 Risoluzione spaziale
 Risoluzione spettrale
 Risoluzione radiometrica
 Risoluzione temporale
Risoluzione Spaziale
 Numero di pixel per unità di area
Diminuendo la risoluzione spaziale otteniamo
il tipico effetto "quadrettato" causato
dall'aliasing
Risoluzione Spaziale
Risoluzione Spettrale
 Diminuendo la banda passante l'immagine
diviene più "sfocata"
Risoluzione Radiometrica
 Ecco cosa accade se si riduce la profondità di
colore :
Tipi di immagine
 Un’immagine in toni di grigio è rappresentata
dal computer come una matrice di interi da 1
byte o 2 byte;
 Un’immagine in bianco e nero è un’immagine
i cui punti possono assumere solo i due valori
0 e 1 (img binaria)
Spazi di Colore
 L’uso del colore nell'immagine è motivato da
due fattori principali :


Il colore è un potente descrittore che spesso
semplifica l’identificazione dell'oggetto e della
scena.
Gli uomini possono discernere migliaia di
ombre di colore e di intensità, in confronto a
solo 20-30 ombre di grigio.
Spazi di Colore
 I colori che gli uomini e alcuni animali
percepiscono in un oggetto sono determinati
dalla natura della luce riflessa dall’oggetto
stesso.
 Se la luce è acromatica (colore privo di luce),
il suo solo attributo è l’intensità.
 La luce cromatica invece si estende lungo la
gamma elettromagnetica pprossimativamente
dai 400 ai 700 nm.
Spazi di Colore
 Tre principali elementi sono usati per descrivere una
fonte di luce cromatica:



Radiance: è l’energia totale che fluisce dalla fonte di
luce, ed è misurata in watt (W).
Luminance, misurata in lumens (lm), dà una misura
dell’ammontare di energia che un osservatore
percepisce da una fonte di luce.
Brightness: è un descrittore soggettivo; incarna la
nozione acromatica di intensità.
 Approssimativamente il 65% di coni dell’occhio
umano è sensibile alla luce rossa, il 33% alla verde, e
solo il 2% è sensibile all’azzurro (ma i coni blu sono i
più sensibili).
Spazi di Colore
 I colori primari possono essere addizionati
per produrre colori secondari di luce : il
magenta (blu + rosso), il ciano (blu + verde),
e il giallo (verde + rosso).
 Mescolando i tre primari, o un secondario col
suo colore primario opposto, nelle intensità
giuste si produce luce bianca.
Spazi di Colore
 C’è una differenza tra i
colori primari di luce e i
colori primari di
pigmenti (o coloranti).
 Nei pigmenti un colore
primario è definito come
il colore che sottrae o
assorbe un colore
primario di luce e riflette
o emette gli altri due.
Spazi di Colore
 Le caratteristiche che generalmente sono usate per
distinguere un colore da un altro sono:
 Luminosità;
 Tonalità, che è un attributo associato con la
lunghezza d'onda dominante in un insieme di onde
luminose.

La tonalità rappresenta il colore dominante percepito.
Così, quando noi chiamiamo un oggetto rosso,
arancione, o giallo, noi stiamo specificando la sua
tonalità.
 Saturazione assegna la relativa purezza o la quantità
di luce bianca mescolata con un colore. I colori puri
dello spettro sono pienamente saturi.
Spazi di Colore
 L’ ammontare di rosso, verde, e blu sono
necessari per creare un qualsiasi colore sono
chiamati tristimulus.
 Un colore è specificato dal suo coefficiente
tricromatico:
Spazi di Colore :
Diagramma di Cromaticità
Modelli di colore
I modelli più comunemente usati in pratica sono :
 RGB (rosso, verde, blu),
 CMY (ciano, magenta, giallo) e il CMYK che
sono modelli di colore per stampare;
 HSI (tonalità, saturazione, intensità) modello
che corrisponde da vicino al modo in cui gli
uomini descrivono e interpretano il colore.
RGB
 Il sottospazio di
colore di interesse
è il cubo nel quale i
valori di RGB sono
tre angoli; ciano,
magenta, e giallo
sono gli altri tre
angoli; il nero è all’
origine; e il bianco è
l’angolo opposto
all’origine. In questo
modello, la scala di
grigio (punti di
uguali valori RGB)
si estende dal nero
al bianco .
CMY(K)
 Molte apparecchiature che depositano pigmenti
colorati su carta, come stampanti a colori e
fotocopiatrici richiedono dati in input CMY o
effettuano una conversione da RGB a CMY
internamente.
Modello HSI
 Hue : descrive la purezza del colore;
 Saturation : grado di presenza del bianco;
 Intensity : livello di grigio per rappresentare la
brillantezza;
Modello HSI
Color Processing Matlab
X = imread(’nome_file.jpg’);
Red_Channel = X(:,:,1);
Green_Channel = X(:,:,2);
Blue_Channel = X(:,:,3);
Gray_Image = rgb2gray(X)
Hsi_Image = rgb2hsv(X)
Hue_Channel = Hsi_Image(:,:,1);
Saturation_Channel = Hsi_Image(:,:,1);
Intensity_Channel = Hsi_Image(:,:,1);
Proprietà Topologiche Immagini
Binarie
 Proprietà riferite ad una immagine (o di parte di essa)
che non variano in seguito a certe trasformazioni (
traslazione, rotazione, cambiamento di scala ed
elongazione) lungo un qualsiasi asse dell'immagine:






Intorno e adiacenza
Path
Connettività;
Connected Components;
Foreground,Background e Holes;
Bordo, Interno;
Intorno e adiacenza
 Dato un pixel p di coordinate (x,y), i quattro
vicini (in orizzontale e verticale) hanno
coordinate:
(x+1, y), (x-1. y), (x, y+1), (x, y-1) e
costituiscono l’insieme N4(p) dei di p (Pixel
con ul lato in comune).
 I quattro vicini diagonali di p hanno
coordinate (x+1, y +1), (x+1, y-1), (x-1, y+1),
(x-1,y-1) e formano l’insieme ND(p).
 L’insieme degli 8-vicinidi p è dato da:
Intorno e adiacenza
Path
 Un path da un pixel [i0,j0], al pixel [in,jn] è
una sequenza di pixel [i0,j0] , [i1,j1] , ... , [in1,jn-1] , [in,jn] tale che il pixel [ik,jk] sia un
vicino di [ik+1,jk+1] per ogni K[ 0,n-1].
Connected Component
 Un connected component di una immagine
è un insieme di pixel in cui ogni elemento è
connesso con tutti gli altri
 Appare allora chiaro che, ad esempio, un
path è un connected component.
 Talvolta è detto “oggetto”
Connected Component
 L’insieme S di tutti i pixel di valore non nullo
di un’immagine è detto foreground
 L’ insieme dei connected components
appartenenti ad S (complementare di S) che
abbiano punti sul bordo dell'immagine è detto
background
 L’ insieme di tutti i punti rimanenti (cioè che
non sono né di background né di foreground)
vengono detti holes
Connected Component
Convex Hull
 Definiamo Convex Hull di un oggetto la più
piccola regione che contiene quell'oggetto e i
cui punti sono unibili con segmenti contenuti
nella regione stessa
Proprietà geometriche
Area (size) A = numero di pixel di un oggetto;
 Perimetro P = numero di pixel del contorno;
 Posizione = in genere corrisponde alle coordinate
del centro di massa dell'oggetto, calcolate
assegnando ad ogni pixel, come peso, il suo valore:
xp 
 B(i, j )  x
i
j
A
j
yp 
 B(i, j)  y
i
j
j
A
 B(i,j) : peso (cioè valore) del punto di coordinate (i,j)
 A : Area dell'oggetto.
Proprietà geometriche
 Orientazione = angolo dell'asse principale
dell'oggetto rispetto ad un asse di riferimento
(tipicamente l'asse orizzontale); è calcolata
come l'asse per il quale la somma delle
distanze quadratiche perpendicolari rispetto a
tutti i punti dell'oggetto è minima:
x   r  Bi, j 
2
2
i, j
i
j
 ri,j : distanza perpendicolare della retta dal
punto (i,j)
 B[i,j] : valore del pixel nel punto (i,j).
Proprietà geometriche
 Compattezza = numero di pixel del contorno;
è misurata dalla disuguaglianza
isoperimetrica:
 Più una figura è compatta, minore è il valore
del rapporto.
La figura che risulta più compatta è il cerchio
Enhancement
 L’
image
enhancement
consiste
nell’elaborazione di un’immagine con il fine di
migliorarne determinate caratteristiche, ridurne
altre, eliminare o ridurre il rumore…
 Si mira ad evidenziare alcune caratteristiche che
sono utili per passi successivi di processing
 Oppure si mira a migliorare l’aspetto visivo
dell’immagine
Enhancement
 I metodi da utilizzare per il miglioramento delle immagini vanno
scelti in base al tipo di immagine ed al tipo di elaborazione.
 Tali metodi si dividono in due categorie:
 Metodi nel dominio dello spazio (si basano su una diretta
manipolazione dei pixel);
 Metodi nel dominio della frequenza (si basano su operazioni
effettuate sulla trasformata di Fourier);
 Non c’è una teoria generale sull’enhancement dell’immagine, in
quanto la valutazione visiva della qualità dell’immagine è un
processo altamente soggettivo.
Biondi
Enhancement on spatial domain
 Il termine dominio spaziale è legato al fatto che l’elaborazione si
basa direttamente sulla manipolazione dei pixel.
 Le principali operazioni che si possono eseguire nel dominio
dello spazio sono:
 Intesity o Gray Level transformation
 Spatial filtering
Biondi
Background
 I processi nel dominio dello spazio saranno denotati
dall’espressione:
g(x, y) = T[f(x, y)]
dove:
- f(x, y) è l’immagine di input
- g(x, y) è l’immagine processata
- T è un operatore su f, definito sull’intorno di (x, y)
Background
 L’approccio principale nella definizione di una
vicinanza circa un punto (x, y) è usare una sottoparte
quadrata o rettangolare dell’immagine centrata in (x,
y), come mostra la figura
 L’operatore T è applicato ad ogni punto (x,y) per
ottenere l’uscita g in quel punto
Background
 La più semplice forma di T è quando il contorno è di
dimensioni 1x1 (cioè un singolo pixel).
 g dipende solo dal valore di f in (x, y)
 T diventa una funzione di trasformazione a livelli di
grigio (spesso chiamata a intensity o a mapping) .
 In tal caso T dipende solo dall’intesità r e non da (x,y)
quindi si ha:
s = T(r)
Dove:
- r indica il livello di grigio di f(x, y)
- s indica il livello di grigio di g(x, y)
Alcune trasformazioni basilari a
livelli di grigio
 Ci sono tre tipi base di funzioni usate frequentemente per il
miglioramento dell’immagine:
- lineare
- logaritmica
- a legge di potenza
Trasformazioni lineari:
Negativo (1/2)
 La negativa di un’immagine con livelli di grigio nel range [0, L-1]
è ottenuta usando la trasformazione negativa mostrata nella
figura precedente con la formula:
s=L–1–r
 Invertendo i livelli di intensità di un’immagine in questa maniera
si produce l’equivalente di una negativa fotografica
Trasformazioni lineari:
Negativo (2/2)
Trasformazioni logaritmiche (1/2)
 La trasformazione logaritmica assieme al constrast stretching
rappresentazione le principali trasformazioni per la
manipolazione dinamici dei range di grigio.
 La formula generale della trasformazione logaritmica è:
s = c*log(1 + r)
Dove:
- c è una costante
- si assume che r ≥ 0
 La funzione log ha l’importante caratteristica di comprimere il
range dinamico nelle immagini con una larga variazione nei
valori dei pixel
Trasformazioni logaritmiche (2/2)
 Viene usato per comprimere range dinamici.
 Es. trasformata Fourier: intervalli [0 10^6].
Constrast stretching
 Permette di comprimere i livelli di grigio minore di un valore m di
un’immagine in un ristretto intervallo di livelli scuri.
 Se T(r) ha la forma mostrata nella prima figura l’effetto di questa
trasformazione è quello di produrre un’immagine ad alto contrasto
rispetto all’originale
s  T r  
1
1  (m / r ) E
 r rappresenta l’intensità dell’immagine di ingresso.
 E controlla la forma della funzione.
Trasformazioni a legge di potenza
 Le trasformazioni a legge di potenza hanno la forma base:
s = crγ
dove c e γ sono costanti positive
 Spesso tale equazione è scritta come:
s = c(r + ε)γ
Trasformazioni a legge di potenza
Trasformazioni a legge di potenza
 Tali trasformazioni sono usate per correggere i “difetti” di alcune periferiche
usate per la cattura dell’immagine, la stampa, e la visualizzazione
 Il processo usato per correggere questi fenomeni di risposta della legge di
potenza è chiamato gamma correction
Trasformazioni a legge di potenza
 Come
si può notare
nell’esempio di questa
spina dorsale, grazie a tale
trasformazione
si
possono esaltare zone (le
lesioni) che erano quasi
“nascoste” nell’immagine
originale.
0.4
0.6
0.3
Trasformazioni a legge di potenza
3
4
5
Funzioni di trasformazione
“piecewise”-lineare
 Vantaggi:
- la forma delle funzioni “piecewise” può essere resa arbitrariamente
complessa
- un’implementazione pratica di molte importanti trasformazioni può
essere formulata solamente come funzioni “piecewise”
 Svantaggi:
- la loro specifica richiede considerevolmente più input da parte degli
utenti
Funzioni di trasformazione
“piecewise”-lineare
 Constrast strecthing
L’idea dietro lo stiramento del contrasto è di aumentare il range dinamico dei
livelli di grigio nell’immagine che sta per essere processata.
 Gray-level slicing:
Con questa tecnica si da rilievo ad uno specifico range di livelli di grigio in
un’immagine.
 “Divisione del bit-plane:
Si suppone che ogni pixel in
un’immagine sia rappresentata da
8 bit. Si immagini che l’immagine
sia composta da 8 piani da 1 bit,
ordinati dal bit-plane 0 (il bit meno
signifivìcativo) al bit-plane 7 (il più
significativo)
Constranst Stretching
delle “piecewise trasformation”
semplici è la contrast-stretching.
 Una
più
Constranst Stretching (2/2)
Gray-level and Bit-plane slicing
 Evidenziare un specifico range di livelli di
grigio è spesso desiderabile.
 Esistono molti approcci per effettuare lo
slicing, ma essenzialmente si possono
ricondurre a due.
 Può essere molto utile evidenziare il
contributo dei singoli bit piuttosto che un
intero range di grigio.
Gray-level and Bit-plane slicing
Gray-level and Bit-plane slicing
Histogram Processing
 L’istogramma di un’immagine è una curva
che fornisce informazioni sulla frequenza con
cui ogni livello di grigio è presente
nell’immagine.
 L’istogramma si determina contando per ogni
valore dell’insieme dei valori assumibili dai
pixel dell’immagine (detto codominio
dell’immagine) il numero di volte che
compare nell’immagine stessa.
Histogram Processing
 Allora se rk con k=0,…,255 rappresenta i
valori di grigio si ha che l’istogramma è:
nk
p rk  
N
 Dove nk rappresenta il numero di pixel con
valore di grigio rk ed N è il numero totale di
pixel dell’immagine
Histogram Processing
 L’istogramma è la base per numerose
tecniche di processimento nello spazio.
 E’ molto efficiente per l’enhancement.
 Ma non solo… compressione e
segmentazione!!!
 E’ possibile effettuare alcune trasformazione
dell’istogramma:


Equalizzazione dell’istogramma;
Matching dell’istogramma
Histogram Processing
Local Enhancement
 L’enhancement
è
un
operazione
di
miglioramento dell’immagine.
 Esistono due tipi di enhancement GLOBALE
e LOCALE.
 Nelle sezioni precedenti sono elaborazioni
globali.
 Le
procedure
precedentemente
viste
possono essere applicate definendo un
quadrato e spostando da pixel a pixel.
Local Enhancement
 Le tecniche di processamento di un istogramma sono
facilmente adattabili al local enhancement.
 La procedura deve definire un’area quadrata o
rettangolare e trasportare il centro di questa area da
pixel a pixel.
 Su ciascuna ubicazione, verrà calcolato l'istogramma
dei punti che si trovano vicini in maniera tale da
ottenere una delle due seguenti funzioni di
trasformazione:
histogram
equalization
o
histogram specification
Local Enhancement
 Tali funzioni vengono usate per mappare il livello
di grigio del pixel concentrato nei dintorni.
 Il centro della regione vicina è mosso poi su una
locazione del pixel adiacente e la procedura è
ripetuta. Ad ogni iterazione ogni nuova riga o
colonna dei dintorni cambia durante la
traslazione da pixel-a-pixel della regione.
 Questo approccio ha vantaggi ovvi in quanto
calcola l'istogramma ripetutamente su tutti i pixel
nella regione vicina e ogni volta la regione è
mossa a un pixel location.
Local Enhancement
 Un altro approccio usato qualche volta per
ridurre il calcolo è utilizzare regioni non
sovrapposte, ma questo metodo di solito
produce
un
indesiderabile
effetto
checkerboard (quadrettato).
Local Enhancement
A
A=immagine originale;
B=Eq.istogramma globale;
C=Eq.istogramma locale;
B
C
Use of Histogram Statistics for
Image Enhancement
 E’ molto utile usare parametri statistici
nell’istogramma piuttosto che l’intero
istogramma.
 Sia r una variabile random discreta che
rappresenta un livello di grigio discreto in un
range [0, L-1] e p(ri) rappresenta l’istogramma
normalizzato e il corrispondente componente
all’i-esimo valore di r.
Use of Histogram Statistics for
Image Enhancement
Il momento n-esimo di r:
Dove m è il valore medio del livello di grigio:
Use of Histogram Statistics for
Image Enhancement
 Due usi della media e della varianza per scopi di
enhancement.
 La media e la variazione globale sono misurate su
un'immagine intera e sono utili primariamente per
rettifiche sull’ intensità complessiva e sul contrasto.
 Enhancement locale: media e la varianza locale
sono usate per trasformazioni che dipendono dalle
caratteristiche dell'immagine in una determinata
regione.
Use of Histogram Statistics for
Image Enhancement
 Siano
(x,y) le coordinate di un pixel
nell’immagine, e sia Sxy una sottoimmagine di
grandezza specificata, centrata in (x,y). Il
valore medio m del pixel in Sxy può essere
calcolato usando l’espressione:
Esempio
E’ necessario
evidenziare un’area e
lasciare l’altra
inalterata!!!
Enhancement locale
capace di evidenziare
solo le aree più
scure!!!
Esempio
 Una misura di quando un’area è relativamente chiara o
scusa è quella di confrontare media e varianza locale
con media e varianza globale.
 Un pixel (x,y) sarà candidato per il processamento se:
 Un pixel che soddisfa tali condizioni verrà processato
moltiplicando per una costante E può essere maggiore
1 o minore di 1 a seconda del tipo di elaborazione.
Esempio
 Ricapitolando: Sia f(x,y) il valore di un
determinato pixel alla coordinata (x,y) e sia
g(x,y) il enhanced pixel alla stessa
coordinata. Allora:
Esempio
 Con E=4, K0=0.4, K1=0.02, K2=0.4
A
B
C
A= è stata applicata la media locale
B= è stata applicata la deviazione standard
C= immagine formata dalla moltiplicazione di tutte le costanti usate per
l’enhancement
Esempio
OpenCV
 La libreria OpenCV (Open Source Computer
Vision) costituisce una collezione di algoritmi
ed esempi di computer vision.
 Il codice è ottimizzato per la famiglia dei
processori Intel ed è compatibile con la
precedente libreria free IPL (Image
Processing Library).
OpenCV
 OpenCV costituisce un supporto per usi
commerciali o di ricerca in settori della
computer vision quali human-computer
interface, monitoraggio, biometrica,
sicurezza, …, fornendo un’infrastruttura free
ed open che può essere consolidata e
ottimizzata grazie al lavoro dei membri della
vision community.
Esempio
IplImage *src;// dichiaro un’IplImage (struttura
dati usata per
immagini 2D)
char path[]=“C\\colombina.bmp”;
//creo una finestra di nome “window”
cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
src=cvLoadImage(path); //carico l’immagine
contenuta nel file colombina.bmp in “src” (la
memoria per l’immagine è allocata in modo
implicito)
cvShowImage("window",src); //mostro nella
finestra “window” l’immagine contenuta in
“src”
RGB 2 GRAY
CvSize size_src=cvSize(src->width,src->height);
//creo la variabile “size_src” di tipo
//“CvSize” per contenere
//larghezza ed altezza dell’immagine
src_gray=cvCreateImage(size_src,src->depth,1);
//creo l’immagine src_gray con
//le dimensioni fissate da size_src
//e con un solo canale
cvCvtColor(src,src_gray,RBG2GRAY); //passo “src”
convertita a toni di grigio
// nella variabile “src_gray”
cvNamedWindow("window color",CV_WINDOW_AUTOSIZE);
// la costante “CV_WINDOW_AUTOSIZE” richiede che
// la window si adatti alle dimensioni dell’immagine
cvShowImage("window color",src);
cvNamedWindow("window gray",1);
Applicazioni Multimodali
 Analisi Attentiva
 Object Recognition:


Face;
Gesture;
 Tracking


Eye;
Face;