Tesi Robotica Un co-processore per Stereo-Matching: Architettura | Page 41
i
i
“LP_Tesi” — 2011/9/9 — 21:20 — page 41 — #41
i
3.3. IMPLEMENTAZIONE MATLAB
3.3
i
41
Implementazione Matlab
Il codice originale fornito dai ricercatori della Kingston University è stato scritto
completamente in linguaggio Matlab, in questo capitolo il codice viene esposto
ai fini di aumentare la comprensione del codice BSV che seguirà nel capitolo
successivo.
3.3.1
Videomics
Codice principale del programma gestisce la chiamata le chiamate a funzione
principali (Alg:3.3).
Algoritmo 3.3 Function Videomics
1
function [BW_diparity_L, BW_diparity_R, resultat_final_L,
resultat_final_R] = Videomics(IL, IR, gapscorestart,
gapscorecontinuation)
2
3
IL = double(IL); IR = double(IR);
4
5
6
resultat_final_L = zeros(size(IL,1),size(IL,2),3);
resultat_final_R = zeros(size(IR,1),size(IR,2),3);
7
8
9
for line = 1:min(size(IR,1),size(IL,1))
[path2,recursive] = TrueFillPath2(IL, IR, gapscorestart,
gapscorecontinuation, line);
10
[res2 nbRegion resrandom final numberOfSolution size_final] =
ReduceNumberPath3(recursive, IL, IR, gapscorestart,
gapscorecontinuation, line);
11
12
[intermediaire_L, intermediaire_R] = DisparityMap(res2(:,:,2));
resultat_final_L(line, :, :) = abs(intermediaire_L(1,:,:));
resultat_final_R(line, :, :) = abs(intermediaire_R(1,:,:));
13
14
15
16
end
17
18
19
BW_diparity_L = uint8((resultat_final_L(:,:,3)+resultat_final_L(:,:,1)));
BW_diparity_R = uint8((resultat_final_R(:,:,3)+resultat_final_R(:,:,1)));
i
i
i
i