Sur les Gopro Max, il semble que la position GPS soit prise après la prise de photo et surtout après le stitching de la photo et sa compression JPEG, ce qui globalement semble prendre environ 1.5s et est cohérent avec la limite de 1 photo toutes les 2s.
Bien sûr, ceci ne se remarque qu’en déplacement rapide, donc pas sur les photos prises à pied ou à vélo, mais en voiture c’est assez notable, comme sur ces exemples:
Sur la première photo, on voit que la position sur l’image aérienne se situe plus tard sur la trajectoire, le carrefour étant encore visible au loin alors que la position GPS nous met dessus.
Pareil sur la seconde, on vient tout juste de passer ce carrefour, mais la position est nettement après.
On peut donc recaler les photos, ce qui peut se faire de plusieurs façon:
- avec JOSM
- avec exiftool en ligne de commande
- avec un script dédié (voir plus bas)
- avec un traitement automatique à la réception côté serveur Panoramax… à implémenter
JOSM
Je le fait actuellement avec JOSM en attendant de gérer cela de façon plus automatique soit par un script avant versement soit par un traitement côté API panoramax :
- charger les images dans JOSM (glisser/déposer le dossier)
- clic droit sur la couche “Images géolocalisées” pour extraire et enregistrer sur disque la trace GPX à partir des images
- clic droit à nouveau mais pour choisir “corréler au format GPX”
- un dialogue s’ouvre, clic sur le bouton “Ouvrir une autre trace GPX” et charger la trace qu’on vient d’enregistrer
- mettre 1.5 dans le champ “décalage” (on peut ajuster si besoin, mais c’est en général la bonne valeur)
- cocher la case “Images avec géolocalisation dans les métadonnées EXIF”
Voici ce que ça donne:
On peut en profiter pour ajouter l’orientation de la photo en se basant sur la trajectoire:
- cocher la cache “Définir la direction de l’image…”
- modifier le décalage de cet angle si comme moi vous prenez les photos sur le côté pour éviter les moucherons sur l’objectif avant (donc 90° ou -90°).
Il ne reste plus qu’à enregistrer ces nouvelles coordonnées et orientations dans le fichiers JPEG: avec un nouveau clic droit sur “Images géolocalisées” et le"Ecrire les coordonnées dans l’entête de l’image"
Vos images sont en principe repositionnées 1.5s “plus tôt” et à une meilleure position longitudinale sur la trajectoire.
Exiftool
Comme avec JOSM, il faut d’abord générer une trace GPX à partir des photos, puis appliquer le recalage.
Cela donne quelque chose comme (non testé) :
exiftool -fileOrder gpsdatetime -p gpx.fmt 100GOPRO > 100.gpx
exiftool -geotag 100.gpx -geosync=-1.5 100GOPRO
Script en ligne de commande
Toutes ces manipulations peuvent se faire par un script en ligne de commande, ce que j’ai fait par exemple pour la Qoocam, mais que je compte ajouter le support des photos prises par Gopro Max… pour profiter aussi de la ré-orientation (quand on vise les côtés) et l’ajout de logo en bas d’image… et tout ça sans perte de qualité (aucune décompression/recompression).