Retour à la page principale → 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.
Il faut recompiler hugin pour avoir pto_gen essenciel dans la procédure de génération des pananorama.
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 :)
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
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)
Tout est basé sur un fichier projet .pto qui va être complété et enrichis.
pto_gen -p 3 -f 15 -o projet.pto
Quelques explications :
cpfind -o projet.pto --multirow --celeste projet.pto
Quelques explications :
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 : cpclean
linefind -o projet.pto projet.pto
Trouve des lignes verticales entre les images, plus d'info sur cette commande ici : linefind.
autooptimiser -a -m -l -s -o projet.pto projet.pto
Plus d'infos ici : Autooptimiser
pano_modify --canvas=AUTO --crop=AUTO -o projet.pto projet.pto
Plus d'infos ici : Pano_modify
pto2mk -o projet.mk -p prefix projet.pto
make -f projet.mk all
Vous devriez avoir un panaorama prefix.tif.
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 :
mogrify -rotate 90 file.jpg