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