function [c mark_comuni mark_rimasti] = costo2(cams,cam1,cam2)
%%
%% INPUT  : le due telecamere che confronto cam1 e cam2
%%          cam1 l' etichette delle telecamerea da associare
%%
%% OUTPUT : matrice costo c tra le due telecamere
%%          sarebbe utile creare tabella che mostri tutte le c


mark_comuni=[];
mark_rimasti=[];
i=1; j=1; c=0;
%si potrebbe migliorare l'efficienza (per il caso peggiore) partendo dalla 
%metà del vettore setmarkers di entrambi
while i<=size(cams(cam1).setmarkers,2) & j<=size(cams(cam2).setmarkers,2)
    %controlle i markers in comune 
    %in realtà per ogni marker visto dalla telecamera dovrei esprimere
        %ache la probabilità di vederlo
        % => suppongo che setmarkers(i) sia un vettore colonna con 2 
        % elementi: -il 1° è il numero di marker 
        %           -il 2° è la prob di vederlo  
    if cams(cam1).setmarkers(1,i)<cams(cam2).setmarkers(1,j)
        mark_rimasti =[mark_rimasti cams(cam1).setmarkers(1,i)];
        i=i+1;  
    elseif cams(cam1).setmarkers(1,i)==cams(cam2).setmarkers(1,j)    
        c= c+ cams(cam1).setmarkers(2,i)*cams(cam2).setmarkers(2,j);
        mark_comuni=[mark_comuni cams(cam1).setmarkers(1,i)]
        i=i+1;
        j=j+1;
    else        
        mark_rimasti =[mark_rimasti cams(cam2).setmarkers(1,j)];
        j=j+1;
    end
end
if i<=size(cams(cam1).setmarkers,2)
    mark_rimasti =[mark_rimasti cams(cam1).setmarkers(1,i:end)];
    i=i+1;
end
if j<=size(cams(cam2).setmarkers,2)
    mark_rimasti =[mark_rimasti cams(cam2).setmarkers(1,j:end)];
    j=j+1;
end
    
phi=acos(cams(cam1).versore'*cams(cam2).versore);
c=c*abs(sin(phi));
