Ceci est une ancienne révision du document !
Créer des panoramas photo
Page en cours de rédaction, contacter jmp pour participer.
Introduction
De nombreux appareils photo numériques sont livrés avec un logiciel permettant de créer un panorama à partir d'une série de photos se chevauchant. Souvent très automatisés et donc faciles à utiliser, ces logiciels ont généralement l'inconvénient de ne pas bien gérer les imperfections des photos (notamment le vignettage) et surtout… de ne pas tourner sous Linux !
Le problème de la création d'un panorama se résume ainsi :
- trouver les points communs entre les différentes photos
- calculer comment placer et déformer les photos afin que les points trouvés puissent effectivement être mis tous en face les uns des autres
- générer le panorama en collant les images calculées
- en option : corriger l'exposition et la couleur des photos pour gommer les variations de conditions de prise de vue voire les imperfections de l'appareil (vignettage)
Voilà qui a l'air bien complexe, mais pas la peine de faire tout cela à la main avec le GIMP, il existe des outils Linux pour le faire !
Utilisation des logiciels
Exceptionnellement on ne commence pas par l'installation qui peut être plus ou moins longue selon la version d'Ubuntu ou la méthode que vous utilisez. Vous voudrez bien attendre donc la section suivante pour cette question.
L'ordre dans lequel il faut utiliser les applications citées est le suivant :
- autopano-sift pour calculer des points communs aux images (attention ça peut être très long)
- hugin pour calculer les calques du panorama (images originales, déformées, déplacées et mises les unes au-dessus des autres)
- éventuellement le GIMP pour corriger les conditions de prises de vue des images
- enblend pour mélanger les calques et ne faire qu'une seule image
- le GIMP (ou tout autre logiciel de retouche d'images) pour découper le panorama
Côté formats de fichiers, hugin sait importer les fichiers de autopano-sift et peut générer en sortie des fichiers image TIFF, le seul format que enblend reconnaît ! Evidemment enblend génère une image TIFF en sortie. On peut aussi demander à Hugin de générer directement le panorama (sans enblend), l'inconvénient est qu'il le fait de manière moins subtile. enblend adapte en effet la zone de mélange des images selon leur contenu : la zone est large là où l'image est peu variable (paysage), rapide là où ça bouge beaucoup (arbres, immeubles, etc.). Enfin s'il faut retoucher l'exposition dans le GIMP avant de passer à enblend, le mieux est de passer par un TIFF à calques multiples.
Théoriquement on peut appeler autopano-sift et enblend depuis l'interface d'hugin. Cependant il semble que l'appel du 1er soit bogué, et que l'appel du 2nd ne remonte pas l'avacement de ce programme, ce qui fait qu'on ne sait pas ce qui se passe et on peut croire à un plantage…
Autant autopano-sift et hugin ont des interfaces utilisateurs fournies (le GIMP aussi bien-sûr !), autant enblend s'utilise en ligne de commande. La commande typique est la suivante :
$ enblend -m 256 -v -z -o myPanorama.tif myPanorama_*.tif
On suppose ici que les images à assembler s'appellent myPanorama_01.tif, myPanorama_02.tif, etc. L'image de sortie - le panorama - s'appelle myPanorama.tif bien entendu. Le -z dit qu'il faut utiliser un format d'image compressé et le -v qu'on veut savoir ce qu'il se passe (c'est assez long). Enfin il faut adapter le 256 (Mo) à la taille de sa mémoire RAM.
Pour le moment il existe un guide en anglais : Panoramas with Hugin. Une version française ne saurait tarder ?
Installation des logiciels
Pour créer des panoramas sous GNU/Linux, nous avons besoin de quelques outils qui vont travailler les uns avec les autres afin de produire l'image finale.
- autopano-sift qui va trouver les points communs entre les images
- Panorama tools la librairie permettant de créer un panorama
- Enblend qui va faire l'assemblage final des images
- Hugin qui est une interface graphique aux outils
Selon la version d'Ubuntu utilisée, l'intallation des outils nécessaires est plus ou moins simple… Commencez donc par activer les dépôts universe et multiverse d'Ubuntu, il y a déjà peut-être autopano-sift dedans !
A partir de paquets Debian
Attention : tous les paquets Debian ne sont pas compatible avec Ubuntu, cela dépend de la version de Debian et de la version d'Ubuntu. Les versions qui ont été figées à la même époque sont généralement très compatibles (Sarge avec Warty, Etch avec Dapper typiquement). De toute façon, APT-GET râlera si ce n'est pas compatible !
par Leonux
Rendez-vous ici : ftp://ftp.nerim.net/debian-marillat/pool/main/ téléchargez ce dont vous avez besoin, et installez tout avec la méthode dpkg et apt-get… J'ai testé, ça fonctionne :)
par jmp
Sous Dapper les plus flémards peuvent se contenter d'ajouter temporairement le dépôt www.debian-multimedia.org dans leur système :
$ sudo nano /etc/apt/sources.list <Ajouter les lignes suivantes à la fin du fichier> # hugin etc. deb http://www.debian-multimedia.org etch main <enregistrer et quitter> $ sudo apt-get update $ sudo apt-get install hugin enblend autopano-sift
Et voilà tous les paquets nécessaires installés ! Je recommande de commenter ensuite la ligne ajoutée dans /etc/apt/sources.list pour éviter d'installer d'autres paquets de ce dépôt lors des mises à jour du système. Les paquets sont disponibles pour les architectures i386 et AMD64. dans les préférences de Hugin choisir autopanog comme programme de remplacement de autopano-Sift (oublier le .exe)
Exclusivement avec du Ubuntu
Et la compilation de sources. Si vous ne voulez pas recompiler les sources à chaque fois que vous les installez sur une autre machine, on peut facilement générer un paquet *.deb tout en compilant. Il faut pour cela utiliser l'outil checkinstall.
A arranger (Kagou) Kagou > Jettes un oeil [[:modele|ici]] ;-) [ostaquet] OKI j'ai vu. J'attends la sortie de la Breezy car j'ai déja mis à jour ce guide pour breezy :p
Préparation
Il nous faut toutes sortes de paquets afin de compiler ces 4 outils. Pour ce faire il vous faut ajouter les dépots de paquets universe et multiverse dans votre /etc/apt/sources.
Une fois votre liste de dépot à jour, il vous faut réactualiser votre base en faisant dans un terminal un :
sudo apt-get update
Toujours dans un terminal vous lancez :
sudo apt-get install mono icu icu-locales libglade2.0-cil checkinstall sudo apt-get install automake1.7 build-essential autoconf
Création d'un répertoire pour travailler dedans :
cd mkdir panorama cd panorama
AUTOPANO-SIFT
sudo apt-get install mono-mcs gtk-sharp wget http://user.cs.tu-berlin.de/~nowozin/autopano-sift/autopano-sift-2.4.tar.gz tar xvfz autopano-sift-2.4.tar.gz cd autopano-sift-2.4/src/ make clean all bin sudo cp bin/* /usr/local/bin/
On peut tester si tout c'est bien passé en lançant :
autopanog.exe
PANOTOOLS
sudo apt-get install libgcj5-dev libtool libjpeg62-dev libpng12-dev libtiff4-dev cvs cd ~/panorama cvs -d:pserver:anonymous@panotools.cvs.sourceforge.net:/cvsroot/panotools login
Tapez juste la touche Entrée
cvs -z3 -d:pserver:anonymous@panotools.cvs.sourceforge.net:/cvsroot/panotools co libpano cd libpano ./bootstrap ./configure make sudo make install
On peut vérifier en lançant :
PTOptimizer
Note : pour Breezy, il faut installer libgcj6-dev et pas libgcj5-dev
ENBLEND
sudo apt-get install libboost-dev cd ~/panorama wget http://ovh.dl.sourceforge.net/sourceforge/enblend/enblend-2.5.tar.gz tar xvfz enblend-2.5.tar.gz cd enblend-2.5 ./configure make sudo make install
On peut vérifier en lançant :
enblend
Attention : sous Breezy et Dapper, il peut y avoir une erreur à la compilation de enblend (versions testées de enblend : 2.3 2.4 2.5)
fixmath.h:154: erreur: ‘Twister’ was not declared in this scope make[3]: *** [enblend-enblend.o] Erreur 1 make[3]: quittant le répertoire « /tmp/pano/enblend-2.3/src »
Note : Testé sous Dapper ; une piste pour résoudre se problème et permettre de compiler correctement enblend serait d'installer libboost-dev libboost-graph-dev libboost-thread-dev.
sudo apt-get install libboost-dev libboost-graph-dev libboost-thread-dev
HUGIN
sudo apt-get install libwxgtk2.5-dev wx-common libboost-graph-dev libgtk2.0-dev libboost-thread-dev cd ~/panorama cvs -d:pserver:anonymous@hugin.cvs.sourceforge.net:/cvsroot/hugin login
Tapez juste la touche Entrée
cvs -z3 -d:pserver:anonymous@hugin.cvs.sourceforge.net:/cvsroot/hugin co hugin cd hugin ./bootstrap ./configure --with-unicode=yes make sudo make install
Si tout c'est bien passé, vous pouvez lancer hugin par un simple :
hugin
Note : pour la Breezy il faut installer libwxgtk2.6-dev et pas libwxgtk2.5-dev
Pour Hugin, j'ai du installer le paquet gettext en plus (bien que gettext-base était déjà présent) [Note ZavezPasVu]
Pour finir merci de me signaler toutes erreurs dans ce post. Je ne suis pas tenu responsable pour tous les dégats que vous pourriez faire dans votre système en suivant mon guide. Vous pouvez faire ce que vous voulez de ce guide sauf une exploitation commerciale (me contacter) La prochaine fois je vous expliquerai comment utiliser tout ça ;)Lien interne
J'ai rencontré une petite erreur sur la fin : pierre@ubuntu:~/panorama$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/hugin co hugin cvs [checkout aborted]: end of file from server (consult above messages if any) pierre@ubuntu:~/panorama$ Sans doute ne suis-je pas le seul? [Note Pierrot sous Breezy]
en effet, meme erreur pour moi et puis:
samsap@ubuntu:~/panorama$ cd hugin
bash: cd: hugin: Aucun fichier ou répertoire de ce type [Note de Samsap sous Breezy]
semble résolu en téléchargeant hugin ici
Pb "no route to host" après cvs. J'ai ajouté "hugin." juste avant "cvs.sourceforge.net" de la ligne de commande cvs, avec succès.
Pb sous Dapper : "
Fetched 5062B in 1s (3966B/s)
Reading package lists… Done
W: GPG error: http://www.debian-multimedia.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
W: You may want to run apt-get update to correct these problems"
Solution : importée la clé publique du serveur www.debian-multimedia.org dans la base d'APT
<code>
$ gpg –keyserver hkp:wwwkeys.eu.pgp.net –recv-keys 1F41B907
$ gpg –armor –export 1F41B907 | sudo apt-key add -
</code>
moi, j'ai cette erreur sous dapper, après avoir lecture de ce guide:
:/etc/apt# apt-get install hugin enblend autopano-sift Lecture des listes de paquets… Fait Construction de l'arbre des dépendances… Fait Certains paquets ne peuvent être installés. Ceci peut signifier que vous avez demandé l'impossible, ou bien, si vous utilisez la distribution unstable, que certains paquets n'ont pas encore été créés ou ne sont pas sortis d'Incoming. L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
autopano-sift: Dépend: libmono-sharpzip0.84-cil mais il n'est pas installable enblend: Dépend: libc6 (>= 2.3.6-6) mais 2.3.6-0ubuntu20 devra être installé