Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 58

i i “MF_Tesi” — 2011/9/12 — 11:39 — page 58 — #58 i 4.3. IMPLEMENTAZIONE IN C i 58 egap al posto di quello di gap, in modo da favorire la raccolta dei gap in cluster, nel secondo si inizia una nuova sequenza di gap. Il flag isGap viene utilizzato proprio allo scopo di discriminare la tipologia di pixel. Una volta individuato il valore migliore, lo si assegna alla cella e si determina quale allineamento è stato esteso. Nel caso di più soluzioni ottime si è deciso di scegliere sempre la prima. Questa funzione può essere eseguita in due modalità: nella modalità di debug, ogni passo di esecuzione è documentato da delle stampe a video che elencano tutti i passi che compie l’algoritmo, mentre nella modalità normale la funzione viene eseguita senza mostrare alcuna informazione. La modalità viene scelta a tempo di compilazione a mezzo della definizione della macro DEBUG che se presente abilita la compilazione di tutte le procedure di stampa a video. Backtracking 3 8 13 18 23 dir **backtrack(dirVal **score, int size) { int i; int row, col; int max, maxRowIndex, maxColIndex; dir **ret = NULL; max = -999999999; maxRowIndex = 0; maxColIndex = size - 1; #ifdef DEBUG printf("+++++++