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