Outils pour utilisateurs

Outils du site


projets:stitching

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
projets:stitching [2013/08/05 15:01]
benvii
projets:stitching [2016/07/19 15:36] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Assemblage automatisé des panoramas - Open Street View ======
 +
 +//Retour à la page principale -> [[projets:​openstreetview|Open Street View]]//
 +
 +Nous allons assembler les panoramas avec les outils qu'​utilise hugin, nos scripts functionnerons sans mode graphique ainsi nous espérons pouvoir effectuer cette tâche sur des serveurs.
 +
 +===== Compilation d'​Huggin =====
 +
 +Il faut recompiler hugin pour avoir pto_gen essenciel dans la procédure de génération des pananorama.
 +
 +==== Méthode simple ====
 +
 +Installer hugin, l'​objectif étant d'​installer toutes les librairies nécessaires a son bon fonctionnement afin de ne pas toutes les compiler ...
 +  sudo apt-get install hugin
 +  ​
 +Environnement nécessaire pour la compilation :
 +  sudo apt-get install sudo apt-get install libwxgtk2.8-dev libtiff4-dev libpng12-dev \
 +  libopenexr-dev libexiv2-dev freeglut3-dev libglew-dev libboost-dev \
 +  libboost-thread-dev libboost-regex-dev libboost-filesystem-dev \
 +  libboost-iostreams-dev libboost-system-dev libboost-signals-dev \
 +  gettext liblapack-dev libxi-dev libxmu-dev libtclap-dev liblensfun-dev \
 +  python-dev swig2.0 libpano13-dev libimage-exiftool-perl enblend python-argparse \
 +  build-essential autoconf automake1.9 libtool flex bison gdb \
 +  libc6-dev libgcc1 cmake pkg-config help2man checkinstall \
 +  subversion mercurial
 +
 +Oui ça fait pas mal de monde :)
 +
 +<​note>​On doit pouvoir se passer de python-dev et peut-être même d'​autres lib ...</​note>​
 +
 +On passe à la partie la plus longue, la compilation d'​hugin.
 +
 +On commence par télécharger les sources (dans un dossier hugin/​hugin.hg) :
 +  mkdir hugin
 +  cd hugin
 +  hg clone http://​hugin.hg.sourceforge.net:​8000/​hgroot/​hugin/​hugin hugin.hg
 +  cd hugin.hg
 +
 +Je vous conseille de changer de branche la dernier branche peut nécessésiter des librairies qui ne sont pas encores officiellement sorties et qu'il faudrait donc aussi compiler.
 +
 +Pour afficher les branches disponnibles (dans le dossier hugin.hg) :
 +  hg branches
 +
 +Nous utiliserons la branche 2013.0 :
 +  hg update -C 2013.0
 +
 +Pour compiler hugin nous allons nous placer dans un autre dossier :
 +  mkdir ../​hugin.build
 +  cd ../​hugin.build
 +
 +On vérifie que toutes les librairies nécessaires à la compilation d'​hugin sont là :
 +  cmake ../hugin.hg -DENABLE_LAPACK=YES -DCPACK_BINARY_DEB:​BOOL=ON -DCPACK_BINARY_NSIS:​BOOL=OFF \
 +   ​-DCPACK_BINARY_RPM:​BOOL=OFF -DCPACK_BINARY_STGZ:​BOOL=OFF -DCPACK_BINARY_TBZ2:​BOOL=OFF \
 +   ​-DCPACK_BINARY_TGZ:​BOOL=OFF -DCPACK_BINARY_TZ:​BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 +   ​-DBUILD_HSI:​BOOL=ON -DSWIG_EXECUTABLE=/​usr/​bin/​swig2.0
 +
 +On lance la compilation :
 +  make package
 +  ​
 +<​note>​Je pense qu'un "make package"​ n'est pas super approprié étant donné qu'on ne vas pas vraiment utiliser le package (mais seulement quelques binaires) car il va rentrer en conflit avec le hugin déjà installé.</​note>​
 +
 +Les binaires des commandes que nous allons utiliser par la suite sont dans :
 +  hugin/​hugin.build/​src/​tools/​
 +
 +//(sauf cpfind mais il est déjà installé normalement)//​
 +
 +Source : http://​wiki.panotools.org/​Hugin_Compiling_Ubuntu
 +
 +===== Génération d'un panorama en ligne de commande =====
 +
 +Tout est basé sur un fichier projet .pto qui va être complété et enrichis.
 +
 +==== Initialisation du fichier projet ====
 +
 +  pto_gen -p 3 -f 15 -o projet.pto
 +  ​
 +Quelques explications :
 +  * **-p 3** indique que nous utilisons la projection n°3, c'​est-à-dire full-frame fisheye
 +  * **-f 15** indique la focale de l'​appareil 15mm ici
 +  * plus d'info sur cette commande ici : [[http://​wiki.panotools.org/​Pto_gen|pto_gen]]
 +
 +==== Recherche des points de control ====
 +  cpfind -o projet.pto --multirow --celeste projet.pto
 +
 +Quelques explications :
 +  * **--multirow** utilise un algorithme qui ne stocke pas les points sur le disque dur (ce qui est gourmand en temps), cette algorithme utilise aussi plusieurs coeurs (si possible).
 +  * **--celeste**,​ ne pas regarder les point commun issuent des nuages :) oui ça peut donner des choses bizarre des fois.
 +  * Plus d'info sur cette commande ici : [[http://​wiki.panotools.org/​Cpfind | cpfind]]
 +
 +==== Un peu de ménage ====
 +  cpclean -o projet.pto projet.pto
 +  ​
 +On nettoye un peu le fichier projet pour se débarrasser des //mauvais// points de control. Plus d'info sur cette commande ici : [[http://​wiki.panotools.org/​Cpclean|cpclean]]
 +
 +==== Recherches des lignes ====
 +  linefind -o projet.pto projet.pto
 +
 +Trouve des lignes verticales entre les images, plus d'info sur cette commande ici : [[http://​wiki.panotools.org/​Linefind | linefind]].
 +
 +==== Optimisations ====
 +  autooptimiser -a -m -l -s -o projet.pto projet.pto
 +  ​
 +Plus d'​infos ici : [[http://​wiki.panotools.org/​Autooptimiser | Autooptimiser ]]
 +  ​
 +==== Découpage du panorama ===
 +  pano_modify --canvas=AUTO --crop=AUTO -o projet.pto projet.pto
 +  ​
 +Plus d'​infos ici : [[ http://​wiki.panotools.org/​Pano_modify | Pano_modify ]]
 +
 +==== Génération d'un make file ====
 + ​pto2mk -o projet.mk -p prefix projet.pto
 +
 +==== Génération du panorama (image tif) ====
 +  make -f projet.mk all
 +
 +Vous devriez avoir un panaorama //​prefix.tif//​.
 +
 +
 +==== Conversion du tif en JPEG ====
 +Une image tif c'est pas toujours très pratique on va donc la convertir en JPEG (toujours en ligne de commande) avec imagemagick.
 +
 +  sudo apt-get install imagemagick
 +  convert prefix.tif pano.jpg
 +
 +
 +Sources :
 +  * http://​forums.mtbr.com/​videos-pov-cameras/​gopro-hugin-panoramas-701500.html
 +  * http://​wiki.panotools.org/​Panorama_scripting_in_a_nutshell
 +
 +===== Divers =====
 +
 +==== Rotation d'un image ====
 +  mogrify -rotate 90 file.jpg
 +
 +
 +
 +
  
projets/stitching.txt · Dernière modification: 2016/07/19 15:36 (modification externe)