Outils pour utilisateurs

Outils du site


synchro_camera

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
synchro_camera [2016/11/16 23:53]
bvandepo [Bag from files node]
synchro_camera [2016/11/17 00:36] (Version actuelle)
bvandepo
Ligne 43: Ligne 43:
  
  
-Grab the images from 2 cameras: 
-  roslaunch ueye_cam stereo.launch 
  
 ====Création du node ueye_cam_test pour test synchro==== ====Création du node ueye_cam_test pour test synchro====
Ligne 236: Ligne 234:
  
  
-=====Bag from files node=====+=====BagFromFiles node=====
 Node créé par Raul Mur Artal et adapté par Ariel pour gérer les séquences en stéréo Node créé par Raul Mur Artal et adapté par Ariel pour gérer les séquences en stéréo
  
-Nous l'utilisons pour regénérer un fichier bag contenant une séquence d'images précédemment enregistrée par l'outils cameracalibrator.py dans le fichier calibrationdata.tar.gz +Nous l'utilisons pour regénérer un fichier bag contenant une séquence d'images précédemment enregistrée par l'outils cameracalibrator.py dans le fichier calibrationdata.tar.gz . Ceci sert à pouvoir réutiliser une séquence en simulant une (paire de) caméra(s) à partir d'un fichier en utilisant rosplay.  
 + 
 +il y a déjà pas mal d'explications sur: http://homepages.laas.fr/bvandepo/wiki/doku.php?id=ueye#camera_synchronization 
 + 
 +Pour capturer les images depuis les 2 caméras en stéréo: 
 +  cd ~/catkin_ws 
 +  roslaunch ueye_cam stereo.launch 
 +Pour lancer l'étalonnage et sauver automatiquement les images en /tmp/calibrationdata.tar.gz  
 +  rosrun camera_calibration cameracalibrator.py --size 7x6 --square 0.108 --size 8x5 --square 0.029 right:=/stereo/right/image_raw left:=/stereo/left/image_raw 
 +  click calibrate 
 +  click save 
  
  
   cd ~/catkin_ws   cd ~/catkin_ws
   cd src   cd src
-  git clone ssh://git@redmine.laas.fr/laas/users/apodlubn/bagfromimages.git+  git clone ssh://git@redmine.laas.fr/laas/users/danes/apodlubn/bagfromimages.git
   echo "export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/bvandepo/catkin_ws/src/bagfromimages" >>~/.bashrc   echo "export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/bvandepo/catkin_ws/src/bagfromimages" >>~/.bashrc
   mkdir build   mkdir build
Ligne 271: Ligne 280:
   ./constructbag.sh   ./constructbag.sh
  
-Les paramètres sont les suivants:+Le script génère dans le dossier courant un fichier images.bag  
 + 
 +Les paramètres passés à rosrun bagfromimages bagfromimages sont les suivants:
   -1: Left images folder   -1: Left images folder
   -2: Right images folder   -2: Right images folder
Ligne 283: Ligne 294:
   cd ~/2ears/seq1   cd ~/2ears/seq1
   rosbag play images.bag   rosbag play images.bag
 +  
 +  
 +=====Modifications pour le cas où les images stéréos sont inclinées à 90 degrés=====
  
 +
 +if the rectified images appears small in a corner, apply this change to the .py:
 +  gedit  /opt/ros/kinetic/lib/python2.7/dist-packages/camera_calibration/calibrator.py
 +Après:
 +           cv2.stereoCalibrate(opts, lipts, ripts,
 +                               self.l.intrinsics, self.l.distortion,
 +                               self.r.intrinsics, self.r.distortion,
 +                               self.size,
 +                               self.R,                            # R
 +                               self.T,                            # T
 +                               criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 1, 1e-5),
 +                               flags = flags)
 +Changer: 
 +  self.set_alpha(0)
 +en:
 +  self.set_alpha(-1.0)
 +  
 +pour calculer la différence entre les 2 fichier et générer le patch:  
 +  cd ~/2ears
 +  diff calibrator.py /opt/ros/kinetic/lib/python2.7/dist-packages/camera_calibration/calibrator.py  >>calibrator.diff
 +  sudo patch /opt/ros/kinetic/lib/python2.7/dist-packages/camera_calibration/calibrator.py calibrator.diff
 +
 +  
 +
 + 
 +create the ini files from yaml files:
 +  rosrun camera_calibration_parsers convert left.yaml left.ini
 +  rosrun camera_calibration_parsers convert right.yaml right.ini
 +  
 +Script pour convertir les résultats d'étalonnage en yaml et lancer le noeuds d'acquisition des images en stéréo avec les caméras réelles:
 +  
 +<file sh debugscript.sh>
 +#!/bin/bash
 +rosrun camera_calibration_parsers convert /home/bvandepo/.ros/camera_conf/stereo/left.ini /home/bvandepo/.ros/camera_info/stereo/left.yaml
 +rosrun camera_calibration_parsers convert /home/bvandepo/.ros/camera_conf/stereo/right.ini /home/bvandepo/.ros/camera_info/stereo/right.yaml
 +source ~/catkin_ws/devel/setup.bash
 +roslaunch ueye_cam stereo.launch 
 +</file>
 +
 +Script pour visualiser les images en provenance des caméras et les images épipolaires réctifiées:
 +<file sh image_procDebug.sh>
 +#ROS_NAMESPACE=stereo rosrun stmage_proc stereo_image_proc &
 +rosrun image_view image_view image:=/stereo/left/image_raw &
 +rosrun image_view image_view image:=/stereo/left/image_rect_color &
 +rosrun image_view image_view image:=/stereo/right/image_raw &
 +rosrun image_view image_view image:=/stereo/right/image_rect_color &
 +read -p "Press any key"
 +pkill image_view 
 +#pkill stereo_image_proc
 +#pkill ueye_cam
 +</file>
  
synchro_camera.1479336791.txt.gz · Dernière modification: 2016/11/16 23:53 de bvandepo