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("+++++++