Suite

Si je survolais un monde plat à élévation constante et que je prenais des photos aériennes, comment les assemblerais-je en mosaïque ?

Si je survolais un monde plat à élévation constante et que je prenais des photos aériennes, comment les assemblerais-je en mosaïque ?


En reformulant la question : si je survolais un monde en 2 dimensions, à une altitude constante, comment pourrais-je assembler ces images ?

J'utilise actuellement des outils qui supposent que je fais un panorama ("AutoStitch", fonctionne pour 2 images en quelque sorte) ou que je prends de vraies photos aériennes ("MapTiler") et donc en quelque sorte bousille cela pour moi. Ce "d'une manière ou d'une autre" est, je pense, le système de référence de coordonnées (CRS) utilisé par ces programmes comme modèle pour assembler ces images.

Les algorithmes qui utilisent la reconnaissance d'images pour assembler les photos sont mal informés dans ces deux derniers programmes. Le premier, AutoStitch fonctionne à merveille pour 2-3 images par rapport aux autres programmes que j'ai utilisés. Je ne parviens pas à faire fonctionner MapTiler, mais il semble que ce soit pour de vrais patchs en mosaïque aérienne. J'en ai besoin d'un pour un monde 2D à zoom constant ("altitude").

Merci

MISE À JOUR DE LA BOUNTY : StackExchange ne me permet de conserver cette offre de prime que pendant 2 jours supplémentaires à compter de lundi soir. Je n'ai pas encore de réponse exploitable.

EDIT: Pour imaginer ce que j'essaie de faire exactement, considérez ceci. Vous avez une image à très haute résolution qui occupe plusieurs moniteurs, vous prenez des captures d'écran des différentes zones de la photo et vous souhaitez ensuite les assembler. Son purement rectiligne, pas de courbure. tous les 90 degrés vers le bas même zoom/distance.


Avez-vous essayé de regarder un progiciel comme pix4dmapper ? Il existe un essai gratuit disponible avec une bonne quantité de fonctionnalités appelée découverte pix4dmapper : https://pix4d.com/download/

J'utilise beaucoup ce logiciel pour mosaïquer les images acquises par UAV et cela peut valoir la peine d'essayer.

Pour les images sans géoréférencement, vous pouvez consulter Microsoft ICE (Image Composite Editor) : http://research.microsoft.com/en-us/um/redmond/projects/ice/

Des versions 32 et 64 bits sont disponibles. Je l'ai utilisé pour assembler avec succès des images aériennes à partir de capteurs visuels et thermiques. Peut-être que cela peut être une option pour votre projet.


Cela ressemble à un enregistrement d'image suivi d'une procédure de mosaïquage pour moi. Il y a plusieurs façons mais voici 2 que je vais faire :

1) Utilisez les points de contrôle au sol (même emplacement sur différentes photos), puis reliez-les ensemble. Cette liaison peut se faire dans un logiciel SIG ou MATLAB(s'inscrire). C'est un peu une approche manuelle de faire les choses.

2) Utilisez une méthode de traitement d'image pour identifier des caractéristiques similaires sur plusieurs photos, telles que la détection basée sur l'intensité/le contraste. C'est plus automatisé.

Ensuite, effectuez le mosaïquage sur SIG ou MATLAB ou un logiciel avec des fonctions similaires.

Recherchez également Image Mosaic en utilisant les fonctionnalités SURF pour combiner les deux en un seul.


Les conditions que vous décrivez seraient un cas particulier du problème habituel (un peu plus simple car certains paramètres sont connus), mais cela ne supprimera pas les distorsions de l'image elle-même (dans un cas idéal, projection centrale, notez la plus grande l'angle donne des distorsions plus importantes).

Si vous souhaitez créer des mosaïques rapidement, vous pouvez également supposer que votre plan est parfaitement parallèle au sol et que votre appareil photo donne une projection centrale parfaite (mais ce sont des hypothèses fortes supplémentaires…). Vous connaissez alors la position de chaque centre d'image, qui est égale à la position de l'avion, et il est simple de calculer le facteur d'échelle de votre image en fonction de la distance focale et de la hauteur de l'avion au-dessus du sol.

Comme vous pouvez le voir, l'assemblage rapide fait beaucoup d'hypothèses. Je vous suggère donc plutôt d'orthorectifier d'abord rigoureusement vos images, puis de les assembler ensuite plus facilement. Il existe de nombreux logiciels pour cela, des solutions professionnelles (coûteuses) (Leica Photogrammétrie Suite) aux logiciels commerciaux plus abordables (boîte noire) (Agisoft photoscan) ou aux solutions Open source (complexes) (IGN Micmac).

EDIT (d'après les nouvelles informations, vous ne volez pas réellement, les solutions ci-dessus ne sont donc pas utiles):

Dans le cas d'une capture d'écran, ce qui n'est pas la même chose que de prendre des photos, vous n'aurez aucune distorsion. Il ne vous reste plus qu'à géoréférencer vos images dans un premier temps, puis à créer une mosaïque. La deuxième étape peut se faire facilement en utilisant gdal_merge.py (pour une nouvelle image) ou gdalbuildvrt (qui n'écrit pas une nouvelle image sur le disque).

La première étape est plus difficile. Je suppose que votre image est en ligne et que vous effectuez un panoramique dessus. Si votre panoramique est automatisé, vous devez savoir de combien vous faites un panoramique et la taille de votre image, afin de pouvoir trouver les coordonnées et la taille en pixels. Sur cette base, vous pouvez créer un fichier mondial contenant des informations de géoréférencement (voir ici pour plus d'informations sur le fichier mondial) ou l'écrire dans l'en-tête à l'aide de gdal_edit.py . Si vous le faites manuellement, vous devez prendre note des coordonnées du coin supérieur gauche de votre écran et les utiliser pour écrire un fichier mondial. S'il est trop tard pour obtenir les coordonnées de vos images, vous pouvez soit collecter des gcp, soit utiliser des algorithmes d'enregistrement automatisés.


Si tout ce que vous cherchez à faire est d'assembler vos images et de les enregistrer sur une seule image, alors Irfanview (excellent logiciel de gestion d'images gratuit) le fait. Allez dans Image > Créer une image panoramique… et configurez votre grille. Je m'excuse si je simplifie excessivement votre problème, mais cela semble être une simple manipulation d'image, plutôt qu'une chose SIG.


Avez-vous entendu parler d'OpenDroneMap ? J'étais à la conférence FOSS4GNA 2015 et j'ai assisté à une session très impressionnante concernant l'outil. De la session : OpenDroneMap est un outil de post-traitement entièrement Open Source pour les images non référencées se chevauchant fortement, transformant les données non structurées (photos simples) en données structurées : nuages ​​de points colorisés, modèles de surface numériques, modèles de surface numériques texturés et orthophotographie.

Cela semble prometteur pour votre utilisation. Les diapositives de la session peuvent être trouvées ici: Diapositives ODM

Le projet d'outil peut être trouvé ici : OpenDroneMap


Pas de "monde" mais un système de coordonnées cartésiennes. Les coordonnées cartésiennes peuvent être exécutées pour générer n'importe quelle projection ou convertir en n'importe quel système de référence que vous aimez. Les données cartographiques ne sont pas rondes, elles sont plates C'est parce que vous les visualiserez finalement sur une surface plate. Même si Google Earth est "rond", il est vraiment plat parce que vous le visualisez sur une surface plane ou que vous l'écran. Vous ne tenez donc compte que des distorsions causées par diverses formules mathématiques pour les données de projection plates. Les colonnes de données géographiques X et Y qui représentent la longitude et la latitude sont l'axe X et l'axe Y du système de coordonnées cartésiennes.


Voir la vidéo: Comment Photographier - Faire des photos aériennes