Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
estime_rectification.tcl
00001 
00002 package require image
00003 
00004 namespace eval stereo {
00005     
00006     #-----------------------------------------------------------------
00007     #
00008     #  Calcul les matrices de rectification d'un systeme stereo
00009     #   (a partir d'un seul jeu de parametres extrinseques)
00010     #
00011     #-----------------------------------------------------------------
00012 
00013     proc eval_rectif_matrix_michel {
00014   {nom_manip  "../vecteurs/dili_2003_michel"}
00015   {entete_fichier_vect "pp"}
00016   {num_image 2}
00017   {nblig 480}
00018   {nbcol 640}
00019   {taux_reduction 1}
00020   {type_dist 3}
00021     } {
00022   # nom_manip : Repertoire de la manip calibrage
00023   # entete_fichier_vect : Entete des fichiers matrice
00024   # num_image : Numero de l'image (obtenu en faisant un grep des parametres contenu dans projection.*)
00025   # nblig : Nbr lignes(Hieght) origine
00026   # nbcol : Nbr colonne(width) origine
00027   # taux_reduction : Taux de rduction  la rectification
00028   # type_dist :  Nombre de coefficients de distorsion
00029   
00030 
00031   puts "0"
00032   set calibrageMatrices [stereo::new_CalibrageMatrices]
00033   
00034   # Mise de cot des paths existants
00035   set oldPath [pwd]
00036   cd $nom_manip
00037 
00038   puts "00"
00039   ######################################################### 
00040   # Restauration des matrices de projection
00041   puts "1"
00042   
00043   set num_image_str [format "%03d" $num_image]
00044   if { [file exists  ${nom_manip}/${entete_fichier_vect}_d.lmv.ie${num_image_str}] } then {
00045       set separateur "_"
00046   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}_d.lmv.ie${num_image_str}.gz] } then {
00047       set separateur "_"
00048   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}.d.lmv.ie${num_image_str}] } then {
00049       set separateur "."
00050   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}.d.lmv.ie${num_image_str}.gz] } then {
00051       set separateur "."
00052   } elseif { [file exists ${nom_manip}/${entete_fichier_vect}d.lmv.ie${num_image_str}] } then {
00053       set separateur ""
00054   } elseif { [file exists ${nom_manip}/${entete_fichier_vect}d.lmv.ie${num_image_str}.gz] } then {
00055       set separateur ""
00056   } else {
00057       puts "Matrice pour camera droite non existante" 
00058       return
00059   }
00060 
00061   puts "2"
00062   
00063   if { [file exists  ${nom_manip}/${entete_fichier_vect}_g.lmv.ie${num_image_str} ]} then {
00064       set separateur "_"
00065   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}_g.lmv.ie${num_image_str}.gz] } then {
00066       set separateur "_"
00067   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}.g.lmv.ie${num_image_str}] } then {
00068       set separateur "."
00069   } elseif { [file exists  ${nom_manip}/${entete_fichier_vect}.g.lmv.ie${num_image_str}.gz] } then {
00070       set separateur "."
00071   } elseif { [file exists ${nom_manip}/${entete_fichier_vect}g.lmv.ie${num_image_str}] } then {
00072       set separateur ""
00073   } elseif { [file exists ${nom_manip}/${entete_fichier_vect}g.lmv.ie${num_image_str}.gz] } then {
00074       set separateur ""
00075   } else {
00076       puts "Matrice pour camera gauche non existante" 
00077       return
00078   }
00079   
00080   puts "3"
00081 
00082   # get the file names of the projection matrices, intrisec matrices ..
00083   set projection_droite_file ${entete_fichier_vect}${separateur}d.lmv.ie$num_image_str
00084   set projection_gauche_file ${entete_fichier_vect}${separateur}g.lmv.ie$num_image_str
00085   
00086   # Rcupration des matrices intrinsques 
00087   set intr_droite_file ${entete_fichier_vect}${separateur}d.lmv.i
00088   set intr_gauche_file ${entete_fichier_vect}${separateur}g.lmv.i
00089   
00090   #Rcupration des coefficients de distorsion
00091   set dist_droite_file ${entete_fichier_vect}${separateur}d.lmv.k
00092   set dist_gauche_file ${entete_fichier_vect}${separateur}g.lmv.k
00093 
00094   puts "4"
00095 
00096   # read the matrices from files
00097   ::stereo::CalibrageMatrices_readFromCalibrationDir \
00098       $calibrageMatrices \
00099       $projection_droite_file \
00100       $projection_gauche_file \
00101       $intr_droite_file \
00102       $intr_gauche_file \
00103       $dist_droite_file \
00104       $dist_gauche_file
00105 
00106   puts "5"
00107 
00108   ::stereo::CalibrageMatrices_estimateRectificationParams \
00109       $calibrageMatrices \
00110       $nblig \
00111       $nbcol \
00112       $type_dist \
00113       $taux_reduction
00114 
00115   puts "6"
00116 
00117   ::stereo::CalibrageMatrices_saveToFile $calibrageMatrices \
00118       "$nom_manip/param.stereo.ay.$taux_reduction"
00119   
00120   puts "7"
00121   
00122   # Copie des autres fichiers de calibrage necessaire pour la stereo
00123 ##  cp $nom_manip/$projection_droite_file ${nom_manip}/projection.d
00124 ##  cp $nom_manip/$projection_gauche_file ${nom_manip}/projection.g
00125   
00126   puts "8"
00127 
00128   ::stereo::delete_CalibrageMatrices $calibrageMatrices
00129 
00130   # Restauration des chemins d'accs aux donnes image et vecteurs
00131   cd $oldPath
00132 
00133     }
00134     
00135     
00136 }
00137 
00138 package provide stereo 0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:28 for Jafar by doxygen 1.7.6.1
LAAS-CNRS