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édentesRévision précédente
Prochaine révision
Révision précédente
projets:stitching [2013/08/04 19:53] benviiprojets:stitching [2022/09/04 21:02] (Version actuelle) – modification externe 127.0.0.1
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
 +
 +
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki