Tesi Robotica Un co-processore per Stereo-Matching: Architettura | 页面 48
i
i
“LP_Tesi” — 2011/9/9 — 21:20 — page 48 — #48
i
3.3. IMPLEMENTAZIONE MATLAB
i
48
• scrivi nella cella (row,col,3) di path5 il valore 1, ricorri sulla casella di
indice (row-1,col) se la matrice in questione è gapNorth [riga 12-13]
• scrivi nella cella (row,col,2) di path5 il valore 1, ricorri sulla casella
di indice (row-1,col-1) se la matrice in questione è diag [riga 17-18]
• scrivi nella cella (row,col,1) di path5 il valore 1, ricorri sulla casella
di indice (row,col-1) se la matrice in questione è gapWest [riga 29-30]
——
↑
↑
↑
↑
↑
←
←
←↑
←
←
↑
←
←
↑
↑
↑
↑
←
←
↑
←↑
←
←
←
↑
↑
←↑
←
←↑
←
←
↑
Tabella 3.2: Condensamento delle matrici
Prendiamo come esempio di backtracking Tab:3.2, in quel caso si otterrebbe
una matrice path5 e una matrice path2 come quelle presenti in Fig:3.3.1. Più
in basso abbiamo l’assegnazione della direzione in base al colore (es. red=west,
green=diag, yellow=west+diag), guardando meglio il codice, infatti, ci si accorge che la terza dimensione di path5 indica il canale nel formato RGB, path2
invece serve solo a dare la forma del tracciamento attraverso un immagine a due
colori del track.
C’è da dire però che il caso in cui ci siano più allineamenti, pur essendo in certi
ambiti abbastanza frequente, comporta discostamenti dell’ordine di 1-2 pixel, e
le differenze create fra un allineamento e l’altro in un immagine di centinaia di
righe sono veramente minime. Per tal motivo si è deciso di ignorare la possibilità
di più allineamenti nella scrittura del codice in BSV (se la differenza è minima
per centinaia di righe figurarsi il caso di un’applicazione “live” in cui le immagini
scorrono alla velocità di 2-3 al secondo). Ignorando tale particolare inoltre non
è più necessaria una struttura ricorsiva (impossibile da implementare in HW se
non attraverso l’uso di stack).
A testimonianza di questo fatto in Tab:3.3 è presente la percentuale di cammini
multipli e non nella coppia di immagine conesL.png e conesR.png
Nel paragrafo finale riguardante i risultati (Cap:4.9), è presente la mappa delle
differenze tra le immagini ottenute con Matlab e quelle ottenute con BSV.
i
i
i
i