L’RGB è un modello di visualizzazione dei colori additivo, cioè si basa sulla somma della luminosità dei tre colori primari (rosso, verde, blu) per ottenere tutti i colori.
Ogni colore rappresenta un punto in uno spazio a tre dimensioni.
E’ molto utilizzato in informatica perché rende semplice la rappresentazione dei colori.
Non raggruppa spazialmente i colori percepiti come simili dall’uomo.
L’HSV e l’HSL sono modelli basati su Hue, Saturation, Value o Lightness.
L’asse verticale comprende i grigi, dal nero (luminosità 0) al bianco (luminosità 1).
I colori si trovano attorno al cilindro con saturazione 1 e luminosità 1 (HSV) o 0.5 (HSL).
Sono utilizzati per riconoscere gli oggetti nelle immagini.
Raggruppano spazialmente i colori percepiti come simili dall’uomo.
Non sono adatti ad una descrizione quantitativa dei colori.

L’istogramma di un’immagine grayscale indica il numero di pixel dell’immagine per ciascun livello di grigio.
Con un istogramma si può evincere se un immagine è poco contrastata (valori condensati in una zona) o se è chiara/scura.
L’equalizzazione dell’istogramma permette di migliorarne il contrasto.
E’ utilizzato per schiarire/scurire un’immagine.
Può essere utilizzato anche per separare gli oggetti dallo sfondo, se entrambi sono omogenei.
La lookup table è utilizzata se il numero di colori nell’immagine è inferiore al numero di pixel per aumentare l’efficienza delle operazioni sui pixel.
E’ un array in cui si mappano i valori di output per ogni input.
Viene utilizzata per:
La binarizzazione viene usata per separare gli oggetti dallo sfondo.
Si usa una soglia globale se oggetti e sfondo sono uniformi.
Altrimenti si utilizza una soglia locale determinata per ogni pixel in base al suo intorno.
Le trasformazioni geometriche sono trasformazioni che si applicano alle coordinate e non ai valori dei pixel.
Con il mapping diretto si va a mappare ogni pixel della vecchia immagine nella nuova immagine.
Il mapping inverso è una trasformazione che parte dalla destinazione e ritorna alla sorgente.
Una trasformazione affine può essere rappresentata come moltiplicazione per una matrice (fattore di scala + rotazione) e somma di un vettore (traslazione).
Si possono combinare più trasformazioni affini moltiplicando fra loro le corrispondenti matrici.
A differenza delle trasformazioni proiettive preserva il parallelismo fra rette.
Problemi e relative soluzioni:
Poiché il sistema della camera non è lo stesso della scena 3D, è necessario trasformare le coordinate 3D della scena in coordinate 2D della camera.
Per farlo si utilizzano i parametri estrinseci:
Per determinare la trasformazione dalla scena 3D all’immagine è necessario conoscere i parametri intrinseci della camera:
La calibrazione consiste nel determinare i parametri intrinseci ed estrinseci della camera.
Conoscendo un certo numero di corrispondenze tra punti 3D della scena e punti 2D dell’immagine è possibile calcolare i parametri estrinseci e intrinseci.
Di solito si utilizza una scacchiera per calibrare la camera poiché è semplice individuare al suo interno un insieme di punti noti.
Che cosa sono i parametri estrinseci del “pinhole camera model”?
Un filtro $F$ è una matrice quadrata $m$ ⨉ $m$ dispari.
Un filtro lineare è un operazione locale (il valore del pixel risultato dipende da un intorno del pixel di partenza) in cui il valore di un pixel è calcolato come somma pesata dei valori dei pixel di un intorno del pixel di partenza.
Se i coefficienti del filtro sono tutti $≥0$ e si vuole mantenere lo stesso range di valori dell’immagine di partenza si normalizza il filtro dividendo per la somma dei coefficienti.
La complessità computazionale di un filtro lineare è $m^2$ moltiplicazioni e somme per ciascun pixel del risultato.
E’ possibile ridurla notevolmente, portandola a $2m$ per pixel, se il filtro è separabile.
Un filtro è separabile se la matrice $F$ può essere scritta come prodotto di un vettore colonna per un vettore riga.
In questo modo si può applicare il filtro $F$$x$ e successivamente $F$$y$.
Correlazione
$I’=I⨂F$
Convoluzione
$I’=I*F$
Si ottiene ribaltando il filtro sui due assi.
Un filtro di sharpening è un filtro che aumenta la nitidezza di un’immagine.
Si calcola l’immagine blurrata e la si sottrae all’originale.
$M=I-I*F$$b$
Si moltiplica il risultato ottenuto per un parametro $k$ (che determina l’intensità dell’effetto) e si somma all’originale.
$I’=I+k$ . $M$
Considerando un’immagine grayscale come una funzione $f$ i bordi si trovano in corrispondenza di cambiamenti rapidi di $f$.
Il filtro gaussiano riduce le alte frequenze nell’immagine:
$I*G$$σ$ = basse frequenze
Sottraendo il risultato dello smooth dall’immagine originale si evidenziano le zone caratterizzate da cambiamenti rapidi fra pixel chiari e scuri:
$I-I*G$$σ$ = alte frequenze
Dati due filtri $G$$σ1$ e $G$$σ2$, la differenza $(IG$$σ1$$)-(IG$$σ2$$)$ evidenzia un certo range di frequenze nell’immagine e dopo aver normalizzato emergono i bordi.
Per la proprietà distributiva della convoluzione il filtro DoG si può scrivere come:
$I*(G$$σ1$$-G$$σ2$$)$
Facendo le derivate parziali sugli assi $x$ e $y$ si ottengono le alte frequenze nell’immagine, ma poiché sono influenzate dal rumore dell’immagine si applica prima un filtro di smooth.
I principali filtri derivativi $3$⨉$3$ (in ordine decrescente di errori) sono:
Il gradiente in un punto è il vettore che ha per componenti le sue derivate parziali.
In un punto di un’immagine indica la direzione di maggior variazione dell’immagine nel punto.
Osservando l’orientazione del gradiente si evince che il bordo di un’immagine è ortogonale al gradiente.
Si può impostare una soglia al modulo del gradiente per selezionare i bordi, ma ciò può produrre:
L’algoritmo di Canny è formato da quattro step:
Soppressione dei non massimi in direzione ortogonale al bordo
Serve ad eliminare dall’immagine del modulo del gradiente i pixel in cui il modulo del gradiente non è massimo locale rispetto all’orientazione del gradiente.
Selezione dei bordi significativi con l’isteresi
L’immagine viene binarizzata utilizzando due soglie T1 e T2 con T1 > T2.
Inizialmente si considerano solo i pixel con il modulo del gradiente superiore a T1.
Successivamente si considerano anche quelli con modulo superiore a T2 se adiacenti a pixel già considerati.
Il Laplaciano è la somma delle due derivate parziali seconde in un punto.
In un immagine con un bordo sufficientemente contrastato il laplaciano è:
Laplaciano a cui è stato applicato un smooth gaussiano e, grazie alla proprietà associativa, si può ottenere calcolando il laplaciano della funzione gaussiana:
$I(S$$G$ $$ $F$$∆$$)$
Il median filter è un operazione locale in cui il valore di ciascun pixel è la mediana dei valori dei pixel nell’intorno del pixel considerato.
Può ridurre alcuni tipi di rumore preservando maggiormente i bordi rispetto ai filtri di smooth lineari.
Le immagini binarie sono immagini che hanno solo due colori:
Sono alla base del rilevamento e del riconoscimento di oggetti nelle immagini.
La topologia digitale è una disciplina che studia le proprietà e le caratteristiche topologiche di un immagine (componenti connesse, bordi).
Le metriche discrete stabiliscono quali pixel sono vicini di un pixel, ovvero quelli che hanno distanza 1 dal pixel considerato.
I tipi più comuni sono:
Distanza d4 (City block , Manhattan)

Distanza d8 (Chessboard , Chebyshev)

La trasformata distanza di $F$ rispetto a $F$* è un’immagine in cui il valore dei pixel è la distanza di ciascun pixel da $F$*.
Per calcolare la trasformata distanza con la metrica d4 si effettuano due scansioni dell’immagine:
Durante le scansioni i pixel vengono trasformati e quelli dello sfondo messi a 0.
La trasformata distanza può essere utilizzata per:
Il contorno di $F$ è dato dalla sequenza ordinata di pixel che hanno distanza unitaria da $F$*.
Per l’estrazione del contorno di solito si utilizza una tecnica di inseguimento che percorre il bordo nella stessa direzione fino a tornare al pixel di partenza.
Un percorso di lunghezza $n$ è una sequenza di n pixel vicini.
Una componente connessa è un sottoinsieme di $F$ tale che, presi due qualsiasi dei suoi pixel, esiste un percorso tra di loro appartenente a $F$.
L’etichettatura delle componenti connesse consiste nell’individuare ed etichettare automaticamente le componenti connesse di un’immagine:
p si considerano i pixel già visitati:
ppp una delle etichetteLa morfologia matematica è una tecnica di analisi ed elaborazione di immagini binarie derivata dalla teoria degli insiemi.
Serve a:
Immagine binaria con dimensioni dispari utilizzata come parametro nelle operazioni morfologiche.
Gli operatori principali alla base delle operazioni morfologiche sono:
| Dilatazione: $F⨁S={q | (𝑆^r)$$q$$∩F≠∅}$ |
| Erosione: $F$⊖$S={q | (𝑆)$$q$$⊆F}$ |
Da cui si ottengono le seguenti operazioni morfologiche:
L’obiettivo è rilevare gli oggetti in movimento nei video.
Per ottenere i pixel che differiscono tra i frame si possono considerare quelli la cui differenza di valore nei frame è maggiore di una certa soglia.
Il modello per i pixel del background è scelto in base al tipo di sfondo:
Il mean-shift è un algoritmo iterativo (si ripete) per determinare i massimi locali di una funzione di densità di probabilità a partire da un insieme di campioni.
Si può applicare al tracking di un oggetto:
La mappa di confidenza può essere ottenuta analizzando alcune caratteristiche dell’oggetto come il colore o la luminosità in grayscale.
Il confronto diretto tra immagini, ovvero pixel-a-pixel, non è efficace per le seguenti ragioni:
Nel template matching si definisce un pattern modello (template), cioè una piccola immagine che viene cercata all’interno dell’immagine misurandone il grado di somiglianza (matching) in tutte le possibili posizioni.
Le tecniche di misura della somiglianza si basano sul confronto di:
Alcuni esempi pratici sono:
Tutte e tre contemplano anche la versione normalizzata.
Per ridurre la quantità di informazioni di un’immagine si possono rappresentare le parti più rilevanti sotto forma di vettori numerici, che vengono poi utilizzati per riconoscere gli oggetti nelle immagini.
Un sistema di machine learning durante la fase di training apprende a partire da degli esempi.
Poi nella fase di inference è in grado di gestire anche nuovi dati dello stesso dominio applicativo.
Il deep learning è una tipologia di machine learning in cui la scelta delle feature e la classificazione vengono apprese direttamente dagli esempi.
Reti neurali specializzate per immagini e video in cui per ciascuna immagine vengono applicati filtri il cui output viene utilizzato come input per il livello seguente.
Utilizzano connessioni locali e condivisione dei pesi per ridurre il numero di parametri.