Tesi Robotica Un co-processore per Stereo-Matching: Architettura | Page 43

i i “LP_Tesi” — 2011/9/9 — 21:20 — page 43 — #43 i 3.3. IMPLEMENTAZIONE MATLAB i 43 Algoritmo 3.4 Function TrueFillPath2 1 function [path2,path5] = TrueFillPath2(IL,IR,gapscorestart, gapscorecontinuation,line) 2 3 4 lengthLineIL = size(IL,2); lengthLineIR = size(IR,2); 5 6 [ScoringScheme, gapNorth, gapWest, diag] = ScoreVariante(IL, IR, gapscorestart, gapscorecontinuation, line); 7 8 9 10 MaxValueScheme = max(max(ScoringScheme(lengthLineIL+1,:)), max( ScoringScheme(:,lengthLineIR+1))); maxL = find(ScoringScheme(lengthLineIL+1,:)==MaxValueScheme); maxR = find(ScoringScheme(:,lengthLineIR+1)==MaxValueScheme); 11 12 13 path2 = zeros(lengthLineIL+1,lengthLineIR+1); path5 = zeros(lengthLineIL+1,lengthLineIR+1,3); 14 15 16 17 18 19 20 21 22 for posL = 1 : size(maxL,2) row = lengthLineIL + 1; col = maxL(1,posL); [path2,path5]=Track(gapWest, gapNorth, diag, row, col, path2, path5); end for posR = 1 : size(maxR,1) row = maxR(posR,1); col = lengthLineIR + 1; [path2,path5]=Track(gapWest, gapNorth, diag, row, col, path2, path5); end Grazie alle due immagini e al parametro line passato come argomento è possibile risalire alla riga su cui è necessario effettuare l’allineamento. La funzione di cui ci stiamo occupando non fa altro che incorporare al suo interno il processo di scoring e quello di backtracking. In un primo momento vengono salvate le dimensioni delle immagini [riga 3-4], di seguito vengono istanziate, a dimensione (size + 1) ∗ (size + 1), la matrice dei punteggi e quelle dei gap. Successivamente i parametri di ingresso vengono passati come argomento alla funzione ScoreVariante, la quale si occuperà di riempire le matrici in modo che possano essere analizzate durante il processo di backtracking. Ma prima di ci