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