projets:stitching
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
projets:stitching [2013/08/04 21:53] – benvii | projets:stitching [2024/04/16 22:20] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Assemblage automatisé des panoramas - Open Street View ====== | ||
+ | |||
+ | //Retour à la page principale -> [[projets: | ||
+ | |||
+ | Nous allons assembler les panoramas avec les outils qu' | ||
+ | |||
+ | ===== Compilation d' | ||
+ | |||
+ | 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' | ||
+ | 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' | ||
+ | |||
+ | On commence par télécharger les sources (dans un dossier hugin/ | ||
+ | mkdir hugin | ||
+ | cd hugin | ||
+ | hg clone http:// | ||
+ | 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 ../ | ||
+ | cd ../ | ||
+ | |||
+ | On vérifie que toutes les librairies nécessaires à la compilation d' | ||
+ | cmake ../hugin.hg -DENABLE_LAPACK=YES -DCPACK_BINARY_DEB: | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | On lance la compilation : | ||
+ | make package | ||
+ | | ||
+ | < | ||
+ | |||
+ | Les binaires des commandes que nous allons utiliser par la suite sont dans : | ||
+ | hugin/ | ||
+ | |||
+ | //(sauf cpfind mais il est déjà installé normalement)// | ||
+ | |||
+ | Source : http:// | ||
+ | |||
+ | ===== 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' | ||
+ | * **-f 15** indique la focale de l' | ||
+ | * plus d'info sur cette commande ici : [[http:// | ||
+ | |||
+ | ==== 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**, | ||
+ | * Plus d'info sur cette commande ici : [[http:// | ||
+ | |||
+ | ==== 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:// | ||
+ | |||
+ | ==== Recherches des lignes ==== | ||
+ | linefind -o projet.pto projet.pto | ||
+ | |||
+ | Trouve des lignes verticales entre les images, plus d'info sur cette commande ici : [[http:// | ||
+ | |||
+ | ==== Optimisations ==== | ||
+ | autooptimiser -a -m -l -s -o projet.pto projet.pto | ||
+ | | ||
+ | Plus d' | ||
+ | | ||
+ | ==== Découpage du panorama === | ||
+ | pano_modify --canvas=AUTO --crop=AUTO -o projet.pto projet.pto | ||
+ | | ||
+ | Plus d' | ||
+ | |||
+ | ==== Génération d'un make file ==== | ||
+ | | ||
+ | |||
+ | ==== Génération du panorama (image tif) ==== | ||
+ | make -f projet.mk all | ||
+ | |||
+ | Vous devriez avoir un panaorama // | ||
+ | |||
+ | |||
+ | ==== 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:// | ||
+ | * http:// | ||
+ | |||
+ | ===== Divers ===== | ||
+ | |||
+ | ==== Rotation d'un image ==== | ||
+ | mogrify -rotate 90 file.jpg | ||
+ | |||
+ | |||
+ | |||
+ | |||