... | ... | @@ -36,14 +36,14 @@ Version du 08/03/2024 |
|
|
[**5. Orthorectification des images**](#orthorectification-des-images)
|
|
|
|
|
|
- [Choix du mode d’orthorectification](#choix-du-mode-dorthorectification)
|
|
|
- [Mise à l’échelle](#mise-%C3%A0-l%C3%A9chelle)
|
|
|
- [Définition de la résolution](#d%C3%A9finition-de-la-r%C3%A9solution)
|
|
|
- [Changement de repère réel](#changement-de-rep%C3%A8re-r%C3%A9el)
|
|
|
- [Définition des coins de l’orthoimage et niveau d’eau](#d%C3%A9finition-des-coins-de-lorthoimage-et-niveau-deau)
|
|
|
- [Mise à l’échelle](#mise-%C3%A0-l%C3%A9chelle)
|
|
|
- [Définition de la résolution](#d%C3%A9finition-de-la-r%C3%A9solution)
|
|
|
- [Changement de repère réel](#changement-de-rep%C3%A8re-r%C3%A9el)
|
|
|
- [Définition des coins de l’orthoimage et niveau d’eau](#d%C3%A9finition-des-coins-de-lorthoimage-et-niveau-deau)
|
|
|
- [Orthorectification complète](#orthorectification-compl%C3%A8te)
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification)
|
|
|
- [Positionnement des points de référence](#positionnement-des-points-de-r%C3%A9f%C3%A9rence)
|
|
|
- [Vérification des GRP](#v%C3%A9rification-des-grp)
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification)
|
|
|
- [Positionnement des points de référence](#positionnement-des-points-de-r%C3%A9f%C3%A9rence)
|
|
|
- [Vérification des GRP](#v%C3%A9rification-des-grp)
|
|
|
- [Paramètres de transformation](#param%C3%A8tres-de-transformation)
|
|
|
- [Transformation de toutes les images](#transformation-de-toutes-les-images)
|
|
|
- [Sous-échantillonnage des images transformées](#sous-%C3%A9chantillonnage-des-images-transform%C3%A9es)
|
... | ... | @@ -106,635 +106,6 @@ Version du 08/03/2024 |
|
|
#
|
|
|
|
|
|
|
|
|
# Commencer une étude **_Fudaa-LSPIV_**
|
|
|
|
|
|
## Prérequis pour commencer une étude **_Fudaa-LSPIV_**
|
|
|
|
|
|
Avant de lancer une étude **_Fudaa-LSPIV_**, il faut être en possession des données d’entrée nécessaires :
|
|
|
|
|
|
- Des images d’un écoulement, sous forme d’une vidéo ou d’une séquence d’images (toutes les images de la séquence doivent être espacées du même intervalle de temps, et cet intervalle de temps doit être connu précisément). La prise d’images doit se faire sans mouvement. Si des mouvements parasites affectent les images, il sera utile d’aligner les images à l’aide de l’étape Stabilisation.
|
|
|
- Lors de l'acquisition des films il faut être vigilant sur les reflets éventuels, la bonne visibilité des traceurs et la bonne répartition des traceurs dans l'image. Lorsque l'écoulement ne présente pas de motifs naturellement, des traceurs bien visibles peuvent être ajoutés. Il faut cependant s'assurer qu'ils se déplacent bien à la vitesse de l'écoulement.
|
|
|
- Une description géométrique de la zone imagée, comme des points de référence visibles sur les images et de coordonnées réelles connues, ou des éléments de mise à l’échelle, afin de conduire l’[orthorectification](#approfondissements).
|
|
|
- Pour des applications débitmétriques, on pourra se référer aux prescriptions de prise d’images faites lors du projet FloodScale.
|
|
|
|
|
|
##
|
|
|
|
|
|
## Créer une nouvelle étude
|
|
|
|
|
|
Pour créer une nouvelle étude, cliquer sur l’icône **_Créer_** ![image7](uploads/146a75ba1b0c630985bf330dca97aae2/image7.png) dans la barre d’accès rapide.
|
|
|
|
|
|
![image8](uploads/d4bda6284d3b00f566922c5ad4e2823b/image8.png)
|
|
|
|
|
|
Sinon, suivre le menu **_Fichier 🡪 Créer_**. Le raccourci clavier correspondant est Ctrl+N
|
|
|
|
|
|
## Ouvrir une étude existante
|
|
|
|
|
|
Pour ouvrir une étude existante, cliquer sur l’icône **_Ouvrir_** ![image9](uploads/144b2e0f82ea7719e7cb0452018e1dfe/image9.png) dans la barre d’accès rapide.
|
|
|
|
|
|
![image10](uploads/15af1f621364a39a9ae7df88fc403e31/image10.png)
|
|
|
|
|
|
Sinon, suivre le menu **_Fichier 🡪 Ouvrir_**. Le raccourci clavier correspondant est Ctrl+O.
|
|
|
|
|
|
> Le menu **_Fichier 🡪 Réouvrir_** permet d’aller chercher une des dernières études enregistrées.
|
|
|
|
|
|
## Architecture d’un projet **_Fudaa-LSPIV_**
|
|
|
|
|
|
Les projets **_Fudaa-LSPIV_** sont enregistrés par le menu **_Fichier 🡪 Enregistrer_** sous forme d'un fichier d’extension [**_.lspiv.zip_.**]()
|
|
|
|
|
|
L'architecture d'un projet **_Fudaa-LSPIV_** est composée de plusieurs dossiers :
|
|
|
|
|
|
- **_img_pgm_** : contient les images sources en format .pgm utilisées pour le traitement ;
|
|
|
- **_img_transf_** : contient un dossier cache des images orthorectifiées au format .gif, moins volumineuses en taille (optimisation de l’affichage) ; les images orthorectifiées en format .pgm ne sont pas sauvegardées (les fichiers .pgm sont vides).
|
|
|
- **_outputs.dir_** : contient les fichiers de calcul et des paramètres LSPIV ;
|
|
|
- **_transects_** : contient les données de transects bathymétriques projetés et interpolés ;
|
|
|
- **_vel_filter_** : contient les fichiers de résultats des vitesses LSPIV instantanées filtrées, en coordonnées image ;
|
|
|
- **_vel_raw_** : contient les fichiers de résultats des vitesses LSPIV instantanées brutes, en coordonnées image ;
|
|
|
- **_vel_real_** : contient les fichiers de résultats des vitesses LSPIV instantanées filtrées, en coordonnées réelles ;
|
|
|
- **_vel_scal_** : contient les fichiers de résultats des scalaires (norme de vitesse, corrélation) calculés à partir des vitesses LSPIV instantanées filtrées, en coordonnées réelles.
|
|
|
|
|
|
[image11](uploads/ddc8bb4a0251fa64fcbd179436838e9c/image11.png)
|
|
|
|
|
|
# Gestion des images sources
|
|
|
|
|
|
Les calculs réalisés dans **_Fudaa-LSPIV_** sont effectués sur des séquences d’images consécutives avec un intervalle de temps connu et fixe. L’utilisateur peut :
|
|
|
|
|
|
- Importer une séquence d’image
|
|
|
- Importer une vidéo et la séquencer dans **_Fudaa-LSPIV_**
|
|
|
|
|
|
## Importer une séquence d’images
|
|
|
|
|
|
Le menu **_Images 🡪 Gestion des images source_** ouvre la fenêtre de gestion des images. Le bouton **_Ajouter_** ![image12](uploads/6e8055b0b3bf287ef473563cde6cb0ff/image12.png) lance un explorateur permettant de sélectionner la séquence d’images à analyser. Tous les formats d’images classiques sont gérés (png, tif, pgm, jpg, tiff, jpeg, gif, bmp…). Les images sélectionnées apparaissent dans la fenêtre de gestion des images.
|
|
|
|
|
|
![image13](uploads/e8a5ef8ef5f6887b25c115da24a1fb6e/image13.png)
|
|
|
|
|
|
Le bouton **_Ajouter_** ![image12](uploads/f33f2e1aed1147e14205c6e26f934f66/image12.png) permet d’ajouter de nouvelles images de la même séquence. Le bouton **_Enlever_** ![image14](uploads/2530051d1af19ed51bb6953cc3791849/image14.png) permet d’enlever une ou des images sélectionnées. Les boutons **_Monter_** ![image15](uploads/4550edb5da32aeb10b9fa41b0066101f/image15.png) et **_Descendre_** ![image16](uploads/e3b50ced87f720090d1756deb9efc37c/image16.png) permettent de modifier l’ordre des images dans la séquence.
|
|
|
|
|
|
L’utilisateur spécifie ici soit **_l’intervalle de temps_** entre deux images, soit le **_nombre d’images par seconde_**.
|
|
|
|
|
|
> En cochant la case **_Fond_**, l’image considérée est affichée par le logiciel mais n’est pas utilisée pour les calculs de vitesse LSPIV. Cette option peut être appliquée si les images montrant les points de repères utiles à l’orthorectification ne sont pas intéressantes pour la mesure du champ de vitesse (images des GRP prises avant ou après le passage de traceurs de l’écoulement, par exemple).
|
|
|
|
|
|
Une fois la sélection validée, les images s’affichent dans **_l’Espace image source_**.
|
|
|
|
|
|
![image17](uploads/1110907935e3d44a13d8145dc2fa0af4/image17.png)
|
|
|
|
|
|
Les images sources être consultées avec **la liste de défilement** :
|
|
|
|
|
|
![image18](uploads/3338941ac853b3a31a3a8f1861099d07/image18.png)
|
|
|
|
|
|
## Importer une vidéo et la séquencer
|
|
|
|
|
|
Le menu **_Images 🡪 Importer les images depuis une vidéo_** ouvre la fenêtre d’import des vidéos :
|
|
|
|
|
|
![image19](uploads/732ce701617e378734a0950f7a1981c8/image19.png)
|
|
|
|
|
|
Le bouton ![image20](uploads/e1e453d222a23a1f9d48c892184cc82c/image20.png) lance un explorateur permettant de sélectionner la vidéo à séquencer.
|
|
|
|
|
|
![image21](uploads/c0534db3d6a344380714602adba5a37b/image21.png)
|
|
|
|
|
|
> Tous les formats de vidéos classiques sont gérés (avi, mov, mpeg…). Le nombre d’images par seconde du film est affiché ainsi que l’intervalle de temps correspondant en secondes.
|
|
|
>
|
|
|
> Une prévisualisation de la vidéo est affichée, ce qui permet d'optimiser les paramètres d'échantillonnage des images. L'image courante dans l'aperçu peut être sélectionnée à l'aide du curseur.
|
|
|
>
|
|
|
> Le rang de l'image courante sur le nombre total d'images dans la vidéo est affiché avec des informations de base sur la vidéo : durée, nombre d'images par seconde, l’intervalle de temps correspondant en secondes, la taille des images (en pixels).
|
|
|
|
|
|
Dans le cartouche **_Echantillonnage_**, renseigner les paramètres de séquencement de la vidéo :
|
|
|
|
|
|
- La **_taille (Dimensions X et Y)_** des images à échantillonner, en pixels.
|
|
|
- Le **_taux d’échantillonnage des images_** : conserver 1 image sur N.
|
|
|
- Ou l’**_intervalle de temps_** entre deux images. Ce nombre doit être supérieur à l’intervalle de temps d’origine.
|
|
|
- Si l’intégralité de la vidéo n’est pas à analyser, renseigner les **_instants de début et de fin_** de la séquence d’intérêt, en secondes. Les instants de début et de fin peuvent être fixés à l'heure de l'image courante de l’aperçu en appuyant sur le bouton ![image22](uploads/0aa349b028b478e68341a940ccf073a4/image22.png).
|
|
|
|
|
|
Les informations d'échantillonnage sont stockées dans le projet et restituées dans les rapports de jaugeage. Le fichier de configuration est nommé user_extract.dat et situé dans le sous-dossier outputs.dir de l’archive .lspiv.zip. Il contient les instants de début et de fin (en secondes), le paramètre d’échantillonnage N (conserver 1 image toutes les N images), la taille des images extraites (en pixels), et le chemin d'accès au fichier vidéo. Les paramètres vidéo peuvent être chargés depuis un fichier user_extract.dat à l'aide du bouton ![image23](uploads/e45800d4910d516fd461b358acab76bf/image23.png).
|
|
|
|
|
|
Le bouton ![image24](uploads/9a0b1d426a6b7ec73858dad14d76a17f/image24.png) fait apparaître une infobulle fournissant des recommandations sur les paramètres d'échantillonnage de l'image.
|
|
|
|
|
|
En appuyant sur **_Valider_**, on démarre le séquencement. L’avancée du calcul est affichée et l'opération d'échantillonnage des images peut être interrompue si besoin. Les première et dernière images de la séquence sont supprimées automatiquement pour éviter des erreurs d’intervalle de temps. La séquence d’images en .png peut être affichée dans la fenêtre de gestion des images.
|
|
|
|
|
|
![image25](uploads/7e4e6f7e5ac433c51a66c25473923b6e/image25.png)
|
|
|
|
|
|
Le bouton **_Ajouter_** ![image12](uploads/fcd641856591769a5bb385e0e92df069/image12.png) permet d’ajouter de nouvelles images de la même séquence. Le bouton **_Enlever_** ![image14](uploads/f30aa5df9410c7fdc6c610bd3d243e14/image14.png) permet d’enlever une ou des images sélectionnées. Les boutons **_Monter_** ![image15](uploads/830778c6922ee00d32f6eab070f69698/image15.png) et **_Descendre_** ![image16](uploads/a534f5404663427a9978db1693cce98c/image16.png) permettent de modifier l’ordre des images dans la séquence. Une fois la sélection validée, les images s’affichent dans **_l’Espace image source_**.
|
|
|
|
|
|
![image17](uploads/825f1dce20cacee380d66ae79595d6bd/image17.png)
|
|
|
|
|
|
Les images sources peuvent être consultées avec la liste de défilement :
|
|
|
|
|
|
![image18](uploads/b0e81c1af99a8900e321d29fa62ab452/image18.png)
|
|
|
|
|
|
Parmi les images ainsi importées, certaines pourront être utilisées uniquement pour l’étape d’orthorectification (cocher la case fond) ou uniquement pour le calcul de vitesse.
|
|
|
|
|
|
![image25](uploads/8ebb1ad918ff42f10bf3b567fb6c9908/image25.png)
|
|
|
|
|
|
## Stabiliser une séquence d’images
|
|
|
|
|
|
Le menu **_Images 🡪 Paramètres de stabilisation des images_** donne accès à un module de stabilisation des images sources, permettant d’éliminer les effets d’un éventuel mouvement de la caméra. Pour plus de détails techniques sur l’algorithme et ses paramètres, voir la Section **_12 Approfondissements_**.
|
|
|
|
|
|
![image26](uploads/45531697cf9d07aceb00fb30227b348a/image26.png)
|
|
|
|
|
|
Dans ce panneau, la case à cocher **_Activer le module de stabilisation_** active ou désactive la stabilisation des images sources.
|
|
|
|
|
|
![image27](uploads/00b9dbd27a3023ba6acb90923feef0b9/image27.png) ![image28](uploads/124ed161005c32106be07b46e407147e/image28.png)
|
|
|
|
|
|
Il est ensuite nécessaire de délimiter l’emprise d’une ou plusieurs **_Zones d'écoulement_** ou **_Zones fixes_** en cliquant sur le bouton **_Saisie interactive_** en saisissant les positions des sommets d’un polygone sur une image source. Une zone d’écoulement correspond à des motifs mobiles qui ne devront pas être utilisés comme points d’intérêt par l’algorithme de stabilisation. Au contraire, une zone fixe inclut des motifs fixes pouvant être utilisés comme points d’intérêt par l’algorithme de stabilisation. Un calque **_Zone d’écoulement_** est ajouté dans la vue 2D **_Espace image source_**.
|
|
|
|
|
|
![image29](uploads/20340469de1e213c9ed6625d167e5e08/image29.png)\
|
|
|
![image30](uploads/60db49f971f9a0234b41ff047516b415/image30.png)
|
|
|
|
|
|
Par défaut, la densité des points d’intérêt est **_Moyenne_** et le modèle de transformation est **_Similarité_**. Deux modèles sont proposés : **_Similarité_** et **_Perspective_**. Le choix dépend de l’importance des mouvements de la caméra et de la « qualité » des berges.
|
|
|
|
|
|
- Faibles mouvements (<10 pixels) : privilégier le modèle de **_Similarité_**
|
|
|
- Forts mouvements (>10 pixels) : privilégier le modèle **_Perspective_**
|
|
|
|
|
|
> La « qualité » des berges désigne principalement la texture et le contraste. Plus l’environnement sera texturé et contrasté avec des contours/coins apparents plus la berge sera de « qualité » pour la stabilisation.
|
|
|
>
|
|
|
> Une dalle de béton lisse sans aspérité sera vue comme berge de mauvaise « qualité » alors que des berges composées de végétation + roches + arbres + ombres seront de très bonne qualité.
|
|
|
|
|
|
- Mauvaise « qualité » : choisir densité de points **_Forte_**
|
|
|
- Bonne « qualité » : choisir densité de points **_Faible_**
|
|
|
|
|
|
La densité de points joue sur le temps de calcul : plus elle est faible, plus la stabilisation est rapide.
|
|
|
|
|
|
> Le ratio berges/écoulement sur l’image est un paramètre important à prendre en compte. Le cas test proposé plus haut est idéal : l’écoulement représente environ 1/3 de l’image ce qui laisse suffisamment de berges. L’environnement est également suffisamment texturé et présente de nombreux contours. Dans un tel cas une densité **_Faible_** peut être utilisée.
|
|
|
>
|
|
|
> Pour assurer une bonne stabilisation, les **berges doivent au moins représenter ¼ de l’image**, de part et d’autre de l’écoulement (soit 50% écoulement, 50% berges).
|
|
|
>
|
|
|
> Il est déconseillé d’utiliser une densité **Faible** avec le modèle **Perspective**. Ce modèle est plus sensible, des erreurs peuvent donc apparaître s’il y a trop peu de points de contrôle.
|
|
|
|
|
|
Il faut ensuite **_Valider_** ou **_Annuler_** le paramétrage ainsi défini. Le bouton **_Appliquer_** ne sert à rien ici. Les paramètres de stabilisation sont restitués dans les rapports de jaugeage.
|
|
|
|
|
|
La commande **_Images 🡪 Stabiliser les images_** permet de lancer le calcul des images stabilisées, qui seront ensuite utilisées pour l’orthorectification (voir section suivante). Le calcul de stabilisation peut être interrompu.
|
|
|
|
|
|
![image32](uploads/c840c7ff8521f0509e4b762d069067b1/image32.png)
|
|
|
|
|
|
Les images stabilisées peuvent être visualisées une à une en Vue 2D **_Espace image source_** en cliquant au préalable sur l’icône « Main tremblante » ![image33](uploads/48c0fc90bf7ac3dba71eea3d5c11c0b9/image33.png).
|
|
|
|
|
|
![image34](uploads/acfae0dae4d991be07d5938586a9d7b5/image34.png)
|
|
|
|
|
|
La commande **_Fichier 🡪 Exporter 🡪 Exporter les images stabilisées_** permet l'export des images stabilisées.
|
|
|
|
|
|
![image35](uploads/5b415fee705c2f1b71bb4852ef8565f7/image35.png)
|
|
|
|
|
|
![image36](uploads/699af72f35c98518a69184501529a0a0/image36.png)
|
|
|
|
|
|
# Orthorectification des images
|
|
|
|
|
|
## Choix du mode d’orthorectification
|
|
|
|
|
|
**_Fudaa-LSPIV_** propose deux modes d’orthorectification :
|
|
|
|
|
|
- **_Mise à l’échelle_** : avec des images non distordues par des effets de perspective (prise avec visée au nadir et sans déformation de lentille), une simple mise à l’échelle en mètre par pixel suffit
|
|
|
- **_Orthorectification complète_** : avec des images distordues par des effets de perspective, il faut faire une orthorectification complète basée sur des points de référence.
|
|
|
|
|
|
Ces modes sont accessibles via le menu **_Orthorectification🡪 Mode d’orthorectification_**.
|
|
|
|
|
|
![image37](uploads/8354b3092f28bb06888a2cdf5f55a491/image37.png)
|
|
|
|
|
|
Ces deux modes de transformation des images permettent de mettre en œuvre une orthorectification 2D ou 3D, ou une simple mise à l’échelle des pixels de l’image. Ces trois types de transformation et leurs pré-requis sont résumés sur le graphique suivant et décrit dans les sections suivantes.
|
|
|
|
|
|
![image38](uploads/c4aaead02831b7c313a6f2f112bcb42e/image38.png)
|
|
|
|
|
|
## Mise à l’échelle
|
|
|
|
|
|
> Lorsque le point de vue de la caméra est vertical (vu du ciel), on peut souvent négliger les effets de perspectives, au moins au centre de l’image. L’orthorectification des images n’est alors pas nécessaire. La mise à l’échelle consiste alors simplement à renseigner la taille physique d’un pixel.
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Mise à l’échelle 🡪 Paramètres_** amène sur la fenêtre de définition des paramètres de mise à l’échelle :
|
|
|
|
|
|
![image39](uploads/18e5d97ef6714a0ea9c2e0117789dca1/image39.png)
|
|
|
|
|
|
### Définition de la résolution
|
|
|
|
|
|
Dans l’onglet **_Résolution_**, deux méthodes sont proposées pour renseigner la résolution des images (taille physique des pixels en mètre) :
|
|
|
|
|
|
- Saisie directe de la résolution si elle est connue : entrer la résolution en m/pix dans la case dédiée.
|
|
|
|
|
|
![image40](uploads/ab6678a534ddfe5edb1a0844d6d10b96/image40.png)
|
|
|
|
|
|
- Saisie de couples de points définissant des segments de taille connue, supposés d’altitude équivalente à celle du plan d’eau (voir plus loin pour le cas général) :
|
|
|
- Cliquer sur les positions des extrémités du premier segment dans l’image. Les coordonnées image (I1,J1) et (I2,J2) des deux points apparaissent alors dans le tableau
|
|
|
- Indiquer en face la longueur du segment (distance entre les deux points) en mètres. La résolution correspondante est calculée.
|
|
|
|
|
|
Vous pouvez ré-itérer l’opération pour autant de segments de taille connue. La moyenne des résolutions ainsi calculées s’affiche et sera celle retenue pour la transformation des images.
|
|
|
|
|
|
![image41](uploads/0d785cba6d3eb4799951cd99a20c07cd/image41.png)
|
|
|
|
|
|
- Alternativement, les coordonnées réelles des extrémités des segments peuvent être renseignées, à la place des longueurs des segments.
|
|
|
- Sélectionner **_Coordonnées_** au lieu de **_Distance_** dans le menu déroulant.
|
|
|
|
|
|
![image42](uploads/a57b8731c6b8aef58c63fd5bcbe28c89/image42.png)
|
|
|
|
|
|
- Quand les segments de taille connue ne sont pas situés à une altitude équivalente à celle du plan d’eau, il est possible de corriger l’effet de perspective :
|
|
|
- Cocher la case **_Images prises par drone_**
|
|
|
- Saisir dans la case **_Altitude du drone (m)_** l’altitude de vol du drone dans le même repère altimétrique que le niveau d’eau.
|
|
|
- Il faut alors saisir l’altitude de chaque segment pour permettre le calcul de la résolution correspondante.
|
|
|
|
|
|
> **_Attention !_** _Les altitudes sont des altitudes absolues (et pas des hauteurs au-dessus du plan d’eau) et le calcul de résolution dépend du niveau d’eau (supposé égal à 0 par défaut)._
|
|
|
|
|
|
![image43](uploads/a46ae5db920e7948d07692191d7c702d/image43.png)
|
|
|
|
|
|
### Changement de repère réel
|
|
|
|
|
|
L’onglet **_Transformation_** permet de définir les paramètres de translation/rotation à appliquer éventuellement au repère réel des orthoimages. Cela est en particulier utile si le champ de vitesse devra être comparé à d’autres données, ou encore si un transect bathymétrique mesuré dans ce repère particulier est utilisé ensuite pour le calcul du débit.
|
|
|
|
|
|
Par défaut, l’option **_Pas de translation/rotation_** est sélectionnée et aucun changement de repère ne sera appliqué. Le coin en bas à gauche de l’image est l’origine de coordonnées (0,0) et les axes X et Y sont les axes horizontal et vertical de l’image de départ.
|
|
|
|
|
|
![image44](uploads/ddf766aff1c1a5f12e8fe8019c0e8492/image44.png)
|
|
|
|
|
|
Sinon, en cochant **_Saisie des 2 points pour la translation / rotation_**, il est possible de définir le changement de repère à appliquer en saisissant les coordonnées réelles (X1,Y1) et (X2,Y2) de deux points préalablement positionnés (en cliquant) dans l’image : leurs coordonnées images (I1,J1) et (I2,J2) s’affichent alors dans le tableau. Le bouton **_Appliquer_** permet de visualiser la transformation de la première image de la séquence.
|
|
|
|
|
|
![image45](uploads/9496e00179a5c0ca0ca89c4978bca622/image45.png)
|
|
|
|
|
|
### Définition des coins de l’orthoimage et niveau d’eau
|
|
|
|
|
|
L’onglet **_Autres_** permet de définir les coordonnées des coins de l’orthoimage : il s’agit simplement d’une sous-sélection de l’image de départ.
|
|
|
Les **_Valeurs par défaut_** proposées sont les positions des coins bas-gauche et haut-droit de l’image totale, calculées en multipliant les dimensions de l’image (en pixels) par la résolution (en m/pix) calculée précédemment. Cela revient donc à conserver la totalité des images de départ pour la transformation.
|
|
|
|
|
|
On peut également saisir dans cet onglet **_Autres_** le niveau d’eau (en m) qui ne sera pas utilisé pour la transformation des images (sauf si l’option **_Images prises par drone_** a été sélectionnée) ni pour le calcul des vitesses mais pour le calcul de débit (calcul de l’aire mouillée).
|
|
|
|
|
|
![image46](uploads/c6ee056df6239e42072c8452e6ead375/image46.png)
|
|
|
|
|
|
Le bouton **_Appliquer_** permet la transformation de la première image avec les paramètres renseignés, afin de se faire une idée du résultat. Le bouton **_Valider_** enregistre les paramètres de mise à l’échelle, affiche la première image transformée et permet de passer à l’étape suivante (Transformation de toutes les images).
|
|
|
|
|
|
## Orthorectification complète
|
|
|
|
|
|
### Principe de l’orthorectification
|
|
|
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné. Tous les détails sur [la page des principes de l’orthorectification](#approfondissements).
|
|
|
|
|
|
### Positionnement des points de référence
|
|
|
|
|
|
Trois méthodes sont possibles pour positionner des points de référence :
|
|
|
|
|
|
![image47](uploads/d43d411ad2f6d4d174bdae70e3c14b44/image47.png)
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Nouveaux_** amène sur l'interface graphique pour le positionnement des points de référence.
|
|
|
- Renseigner les coordonnées terrain (**_X réel_**; **_Y réel_** et **_Z réel_**) du premier point
|
|
|
- Cliquer sur le pixel de l'image localisant le GRP, les coordonnées image **_I_** et **_J_** sont alors renseignées.
|
|
|
> Il est possible de zoomer pour mieux voir un point. Il est possible de supprimer ou ré-ordonner des points de référence, et de modifier et de copier-coller les coordonnées des points de référence dans le tableau de saisie.
|
|
|
|
|
|
Répéter l'opération pour tous les points de référence (au moins 4 pour une orthorectification 2D (idéal : 15-25 points) ; au moins 6 pour une orthorectification 3D (idéal : 20-35 points), voir les [principes de l’orthorectification](#approfondissements) pour plus de détails).
|
|
|
|
|
|
Le bouton **_Fin de saisie_** clôture l'opération et crée un fichier dans l’architecture du projet **_outputs.dir\\GRP.dat_**.
|
|
|
|
|
|
![image48](uploads/92997e6efe5b40f20fa719fe181c0a81/image48.png)
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Importer_** permet de charger un fichier **_GRP.dat_**. Ce fichier doit être un fichier texte, avec le format suivant :
|
|
|
- La première ligne contient uniquement le texte GRP
|
|
|
- La deuxième ligne est un entier stipulant le nombre de points de référence utilisés
|
|
|
- La troisième ligne contient les intitulés des données : X Y Z i j ; soit X,Y,Z les coordonnées terrain des points et i,j les coordonnées des points sur l'image.
|
|
|
> ***Attention !*** i,j ne sont pas les indices image mais bien les coordonnées cartésiennes sur l'image. C'est à dire que i correspond à l'abscisse et j l'ordonnée sur l'image avec le point (0,0) en bas à gauche.
|
|
|
- Les lignes suivantes sont les données.
|
|
|
|
|
|
![image49](uploads/cdfb0776f52b50fd0c4675bc9573aaa6/image49.png)
|
|
|
|
|
|
Il est important de noter que les points de référence doivent être renseignés en unité métrique (cela définit les unités pour la suite du traitement).
|
|
|
|
|
|
- Le menu **_Orthorectification_** 🡪 **_Orthorectification_** 🡪 **_Points de référence_** 🡪 **_Mode 4 points…_** propose une spécification simplifiée de l'orthorectification 2D :
|
|
|
- Pointer 4 points de référence dans l'image dans le sens inverse des aiguilles d'une montre (cliquer sur le bouton **_Saisie interactive…_**)
|
|
|
- Saisie les 5 distances (en mètres) entre ces points.
|
|
|
Les coordonnées réelles correspondantes (X et Y) sont automatiquement calculées dans un système de référence arbitraire. Le niveau de l'eau est supposé être égal à zéro.
|
|
|
|
|
|
![image50](uploads/0a18d569cab9ea0986632abdb18a60bd/image50.png)
|
|
|
|
|
|
### Vérification des GRP
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Vérification des points de référence_** permet de s'assurer de la qualité de la correspondance des coordonnées terrain et image des GRP. La matrice d'orthorectification (voir [Principes de l’orthorectification](#approfondissements)) est calculée, et on calcul la position terrain (X ; Y et Z) des points de repère à partir de leurs coordonnées image (I et J).
|
|
|
On compare alors les coordonnées terrain vraies et les coordonnées terrain calculées. La distance entre ces coordonnées vraies et calculées, appelée **_Écarts_** est présentée dans un tableau et sous forme graphique.
|
|
|
|
|
|
![image51](uploads/53e406f79b41496b15bd433cfcaf2cfb/image51.png)
|
|
|
|
|
|
> Il est important de vérifier les GRP pour éviter les erreurs de saisie. Les écarts de positions ne doivent pas dépasser 1% de la zone étudiée (10-20 cm pour une rivière d'environ 20 m).
|
|
|
>
|
|
|
> Il est possible que seuls certains points présentent des écarts important. Cela peut être dû à un mauvais pointage sur l'image. Vérifier que les coordonnées images sont correctes, sinon les ajuster. Dans certains cas la suppression du point permet d'obtenir de meilleurs résultats.
|
|
|
|
|
|
### Paramètres de transformation
|
|
|
|
|
|
Deux méthodes sont possibles pour renseigner les paramètres de transformation :
|
|
|
|
|
|
![image52](uploads/a0e50824b173a25ff7626c137b342b26/image52.png)
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Paramètres de transformation 🡪 Définir_** ouvre la fenêtre de gestion des **_Paramètres de transformation_**.
|
|
|
- On définit la zone d'étude par un rectangle dont la position des coins dans le repère réel (**_Xmin, Xmax, Ymin, Ymax_**) est renseignée. Ce cadre permet de réduire l’orthorectification à la zone d’intérêt et ainsi limiter les temps de calcul.
|
|
|
- La **_Résolution_**, en mètre par pixel, correspond à la taille d'un pixel dans l'image orthorectifiée. La résolution doit être ajustée pour que les détails des traceurs restent visibles dans l’orthoimage, sans générer des orthoimages de tailles trop importantes (l’orthoimage doit avoir à peu près les mêmes dimensions que l’image brute). Le bouton ![image53](uploads/67c708dadea4320b35173c0f5155cc72/image53.png) permet de renseigner façon automatique les champs **_Xmin, Xmax, Ymin, Ymax et Résolution._**
|
|
|
- Enfin le **_Niveau d'eau_**, dans le repère réel, doit être renseigné. L’orthoimage sera valide uniquement pour cette hauteur (voir [les principes de création des orthoimages](#cr%C3%A9ation-des-orthoimages)).
|
|
|
|
|
|
En cliquant sur **_Appliquer_**, une image orthorectifiée est produite. Ajuster au besoin le paramétrage, puis **_Valider._** Les paramètres de transformation sont stockés dans le fichier **_outputs.dir\\img_ref.dat_**.
|
|
|
|
|
|
![image54](uploads/8fbf30d89cf8dc84ee5e03b724e047d5/image54.png)
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Paramètres de transformation 🡪 Importer_** permet de charger les paramètres d’orthorectification d’une étude existante grâce à un fichier **_img_ref.dat._** Ce fichier a le format suivant :
|
|
|
|
|
|
![image55](uploads/68ba01b3a000298f89d6ecb92f0ab0a2/image55.png)
|
|
|
|
|
|
## Transformation de toutes les images
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Transformer les images_** lance l'orthorectification de toutes les images sélectionnées. Les images orthorectifiées sont stockées dans le dossier **_img_transf_**.
|
|
|
|
|
|
> Le dossier cache contient les mêmes images au format gif, moins volumineuses.
|
|
|
>
|
|
|
> La création de ces images peut prendre du temps, surtout si un grand nombre d’images à haute résolution sont à transformer. En option, il est possible de désactiver la création des images cache, à part la première de la série, via le menu **_Edition 🡪 Préférences 🡪 Général 🡪 Calcul._** Seule la première image sera alors visualisable dans les Vues 2D **_Espace réel_** et **_Espace image transformée_**.
|
|
|
|
|
|
![image56](uploads/2fae64e4a31306a657ab5660b45bb6c3/image56.png)
|
|
|
|
|
|
## Sous-échantillonnage des images transformées
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Sous échantillonnage des images transformées_** permet de sous-échantillonner les images orthorectifiées créées.
|
|
|
Ce sous échantillonnage ne supprime pas les images intermédiaires calculées. En cas de changement de sous echatillonnage, il n'est donc pas nécessaire de relancer les étapes d'échantillonnage de la vidéo, stabilisation et calcul d'orthorectification.
|
|
|
|
|
|
![image57](uploads/efc0f74a1f1a7c3fbec472ef27dfb506/image57.png)
|
|
|
|
|
|
> Cette option est particulièrement utile pour identifier l’échantillonnage optimal de la vidéo, sans avoir à relancer les étapes précédentes.
|
|
|
>
|
|
|
> Pour rappel, l’échantillonnage de la vidéo doit garantir des **déplacements en pixels suffisamment élevé** pour limiter le poids de l’erreur de résolution sur la mesure de déplacement. Des déplacements **supérieurs à 3 pixels sont conseillés (idéalement, environ 10 pix)**.
|
|
|
|
|
|
# Calcul de la vitesse de déplacement des traceurs
|
|
|
|
|
|
## Principes
|
|
|
|
|
|
La LSPIV utilise une méthode statistique en corrélation croisée sur les images orthorectifiées afin de déterminer le déplacement des traceurs visibles en surface. Les principes sont détaillés sur la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs).
|
|
|
|
|
|
Par ailleurs, certaines vitesses peuvent être déterminées manuellement. Ceci est particulièrement utile pour comparer avec les vitesses calculées par LSPIV et les valider.
|
|
|
|
|
|
## Calcul manuel des vitesses
|
|
|
|
|
|
![image58](uploads/97d6b2e35e435d652d4018fe36486724/image58.png)
|
|
|
|
|
|
- Le menu **_Analyse LSPIV 🡪 Vitesses calculées manuellement..._** lance l'interface pour la détermination manuelle du mouvement des traceurs :
|
|
|
- Cliquer sur le bouton ![image59](uploads/130eb72fed2e1ca218c611004d08ebeb/image59.png)
|
|
|
- Sélectionner la position d'un traceur sur une image
|
|
|
- Sélectionner la position de ce traceur sur n'importe quelle images de la séquence (suivante ou précédente), en faisant défiler les images avec les touches F11/F12 (avancer/reculer).
|
|
|
|
|
|
Les images et positions sélectionnées sont listées dans le tableau.
|
|
|
|
|
|
![image60](uploads/f977900a7c69ce1ae708992ec4b76606/image60.png)
|
|
|
|
|
|
Il est possible d’utiliser les vitesses manuelles pour le calcul du débit en cochant la case **Combiner avec les vitesses moyennes.**
|
|
|
|
|
|
Lorsque la sélection manuelle des positions des traceurs est terminée, cliquer sur le bouton **_Valider_** permet d’afficher les résultats des vitesses de la couche \*\*\*Vitesses manuelles \*\*\*:
|
|
|
|
|
|
![image61](uploads/297e6a9b6ea271a6907099c010d087c0/image61.png)
|
|
|
|
|
|
## Paramètres du calcul des déplacements
|
|
|
|
|
|
Deux méthodes sont possibles pour définir les paramètres du calcul des déplacements des traceurs :
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Paramètres de Calcul 🡪 Définir_** lance l'interface des **_Paramètres du calcul_** des déplacements des traceurs. Plusieurs paramètres sont à renseigner :
|
|
|
|
|
|
![image62](uploads/57544052faaab716bf75176190b35f78/image62.png)
|
|
|
|
|
|
- la **_taille de l'aire d'interrogation_** (IA pour Interrogation Area), en mètre ou en pixel (unités liées), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
> Cette aire doit être suffisamment grande pour intégrer des traceurs, mais suffisamment petite pour être représentative de l'écoulement (les gradients de vitesses dans une IA doivent être négligeables). Comme bonne pratique, on retiendra que l’IA doit avoir une taille métrique en adéquation avec la taille des traceurs à suivre et l’échelle caractéristique de l’écoulement mesuré, tout en gardant une taille suffisamment petite pour permettre un calcul dans un temps raisonnable. Une taille de l’ordre de 30-50 pixels est à privilégier (la taille doit être un chiffre pair).
|
|
|
|
|
|
Le bouton **_Appliquer_** permet une visualisation graphique de la taille de l’IA sur une image orthorectifiée. L'utilisateur peut choisir l'emplacement du centre de la fenêtre en entrant ses coordonnées dans **_Position du centre_** ou en cliquant sur un pixel de l'image après avoir activé le bouton **_Position_**.
|
|
|
|
|
|
- la taille de l'aire de recherche (SA pour Searching Area) en mètre ou en pixel (unités liées), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
> L'aire de recherche est un rectangle définit autour du centre de l'aire d'interrogation. Elle correspond à la zone dans laquelle les motifs sont recherchés sur les images successives. Lorsque l'écoulement a une direction privilégiée, on pourra allonger l'aire de recherche dans cette direction.
|
|
|
|
|
|
La SA est définit par 4 paramètres, Sim, Sip, Sjm et Sjp. Le bouton **_Appliquer_** permet une visualisation graphique de la taille de la SA sur une image orthorectifiée.
|
|
|
|
|
|
![image63](uploads/f585181828869a1b525301429cdfbb0c/image63.png)
|
|
|
|
|
|
- Le bouton ![image64](uploads/ba89ab12adbdd87b1cd620c8d9f5d881/image64.png) applique la configuration à la première paire d'images et affiche les résultats de vitesse avec statistiques (min/max/moy/médiane), pour tester les paramètres.
|
|
|
- Les paramètres du calcul des déplacements des traceurs sont stockés dans le fichier **_outputs.dir\\PIV_param.dat_** lors de la validation.
|
|
|
- Le bouton ![image24](uploads/ef7d97f41af6ee6681fb6d0f323ef29f/image24.png) fait apparaître une infobulle fournissant des recommandations sur les paramètres de calcul des vitesses.
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Paramètres de Calcul 🡪 Importer_** permet de charger les paramètres de calcul des déplacements d’une étude existante grâce à un fichier **_PIV_param.dat._** Ce fichier a le format suivant :
|
|
|
|
|
|
![image65](uploads/9489bba281b6792118b04f71ca555231/image65.png)
|
|
|
|
|
|
## Grille de calcul
|
|
|
|
|
|
La grille de calcul représente tous les points pour lesquels une vitesse sera calculée), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails. Deux méthodes sont possibles pour définir la grille de calcul :
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Points de grille 🡪 Définir_** lance l'interface de définition du **_Contour de grille_** des déplacements des traceurs.
|
|
|
- Le contour de la grille est un quadrilatère définit par ses quatre coins grâce à des clics sur l’orthoimage.
|
|
|
- La densité de la grille est définie par un pas d'espacement sur les segments opposés du quadrilatère.
|
|
|
- Le bouton **_Appliquer_** permet un affichage graphique de la grille sur l’orthoimage.
|
|
|
|
|
|
La grille de calcul est stockée dans le fichier **_outputs.dir\\grid.dat_** et les paramètres de la grille sont stockés dans le fichier **_outputs.dir\\grid_param.dat_** lors de la validation.
|
|
|
|
|
|
![image66](uploads/6f5f2d6e36f7dbfb2ca1e488aa8f0a97/image66.png)
|
|
|
|
|
|
![image67](uploads/b6ff8a00350b5d7aa7812bf5c75cb48e/image67.png)
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Points de grille 🡪 Importer_** permet de charger une grille de calcul d’une étude existante grâce à un fichier **_grid.dat._** Ce fichier texte est une liste des coordonnées I,J de tous les nœuds de grille dans le repère de l’orthoimage.
|
|
|
|
|
|
## Calcul des vitesses de déplacement des traceurs
|
|
|
|
|
|
Le menu **_Analyse LSPIV🡪 Calcul des résultats instantanés_** lance l'analyse statistique des déplacements de traceurs pour toutes les paires d’images de la séquence), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
|
|
|
On obtient un champ de vitesse "instantané"' (au pas de l'intervalle de temps entre deux images) pour toutes les paires d'images consécutives. Ainsi, pour N images sélectionnées, on obtient N-1 champs de vitesse, stockés dans le dossier **_vel_raw_**.
|
|
|
|
|
|
Le groupe de calque **_Résultats bruts (B)_** est créé.
|
|
|
|
|
|
![image68](uploads/7bf272478da0fd36ef09786e820a0067/image68.png)
|
|
|
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d'images sous forme de champ de vecteur (**_Vitesses B_**), de lignes de courant (**_Particules B_**, [voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces B_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.
|
|
|
|
|
|
![image69](uploads/e35652b2f4fc8d57e9a200320b09d1e1/image69.png)
|
|
|
|
|
|
# Post-traitement des vitesses calculées
|
|
|
|
|
|
L’étape de post-traitement comprend le filtrage et la moyenne des résultats de vitesse. Il est également possible d’afficher quelques statistiques simples sur les résultats de vitesse.
|
|
|
|
|
|
![image70](uploads/1d1dcd6d6167fa949b94ca8182eb0eee/image70.png)
|
|
|
|
|
|
## Filtrage des résultats instantanés
|
|
|
|
|
|
Le menu **_Post-traitement🡪 Filtrage des résultats instantanés_** lance l’interface de filtrage. Plusieurs filtres sont disponibles :
|
|
|
1. Test médian : filtre de cohérence spatiale des vitesses!
|
|
|
2. Seuil vitesse : filtre sur les composantes des vecteurs vitesses
|
|
|
3. Seuil corrélation : filtre sur le niveau de corrélation (identification traceur entre images)
|
|
|
4. Pic de corrélation : filtre sur la largeur du pic de corrélation (qualité du traceur)
|
|
|
5. Distribution des vitesses : filtre de cohérence temporelle des vitesses
|
|
|
6. Dispersion des vitesses : filtre de cohérence temporelle des vitesses (dans le sens du courant)
|
|
|
7. Dispersion angulaire : filtre de cohérence temporelle des vitesses
|
|
|
|
|
|
Ces filtres sont appliqués en séquence, dans l'ordre présenté ci-dessus. Dans cette section une présentation brève est proposée. Pour plus de détails, se référer à la section de [présentation détaillée des filtres](#présentation-détaillée-des-filtres).
|
|
|
|
|
|
1. Le test médian compare les composantes Vx et Vy d'un vecteur avec ses 8 voisins les plus proches (paramètre n_neighbor).
|
|
|
- L’onglet **_Vitesse_** permet de filtrer sur des valeurs de norme ou de composantes Vx ou Vy. Pour utiliser ce filtre, activer la case à cocher **_Filtrer les vitesses_** et renseigner les valeurs minimale et maximale pour les différents filtres proposés. Par défaut, la valeur seuil de norme de vitesse minimale est zéro et elle ne peut pas être strictement négative.
|
|
|
- L’onglet **_Corrélation_** permet de ne conserver les vitesses calculées que dans une certaine gamme de valeur de corrélation, voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails. Pour utiliser ce filtre, activer la case à cocher **_Filtrer les corrélations_** et renseigner les valeurs minimale et maximale de la plage de corrélation pour laquelle les vitesses sont à conserver. La valeur minimale dépend de la qualité des traceurs et de leur conservation temporelle. Pour des traceurs non déformables (objets durs, traceurs artificiels) on pourra exiger des corrélations élevées (de l’ordre de 0.7). Pour des traceurs se déformant (figures de turbulence, écume), on demandera un seuil minimal plus faible (de l’ordre de 0.4). En fixant une borne maximale à 0.98, on évitera des artifices si la grille de calcul déborde de l’écoulement et empiète sur des zones statiques (berge, bord l’image). Par défaut, les valeurs seuils sont fixées à 0.4 (min) et 0.98 (max).
|
|
|
|
|
|
Les champs de vitesses instantanées filtrés sont stockés dans le dossier **_vel_filter_**. Le groupe de calque **_Résultats filtrés (F)_** est créé.
|
|
|
|
|
|
![](./media/image73.png)
|
|
|
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d’images sous forme de champ de vecteur (**_Vitesses F_**), de lignes de courant (**_Particules F._**, voir comment le calculer ici ([voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces F_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.![](./media/image69.png).
|
|
|
|
|
|
## Moyenne des résultats
|
|
|
|
|
|
Le menu **_Post-traitement🡪 Moyenne des résultats instantanés filtrés_** lance l’interface de calcul de la moyenne.
|
|
|
|
|
|
![](./media/image74.png)
|
|
|
|
|
|
On sélectionne les champs de vitesses filtrés à moyenner (a priori, tous les résultats filtrés sont sélectionnés) et le bouton validation permet de calculer le champ de vitesse moyenné sur toutes les paires d’images de la séquence.
|
|
|
|
|
|
Le champ de vitesses moyenné est stocké dans le fichier **_outputs.dir/average_vel.out_** Le groupe de calque **_Résultats moyens (M)_** (pour vitesses de surface moyennées) est créé.
|
|
|
|
|
|
![](./media/image75.png)
|
|
|
|
|
|
Il permet de visualiser les vitesses moyennées calculées sous forme de champ de vecteur (**_Vitesses M._**), de lignes de courant (**_Particules M_**, voir comment le calculer ici [voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces M_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.![](./media/image69.png)
|
|
|
|
|
|
### Statistiques des résultats de vitesse
|
|
|
|
|
|
Le menu **_Post-traitement🡪 Afficher les statistiques résultats..._** affiche un résumé (min, max, moyenne, médiane, écart type) des résultats de vitesse bruts et filtrés : composantes Vx et Vy, niveau de corrélation (CORREL), norme (NORME), rotationnel (OMEGA, pas encore implémenté : affiche la valeur 4), divergence (DIVERG, pas encore implémenté : affiche la valeur 5). Les statistiques peuvent être calculées sur les résultats de toutes les paires d'images ou pour une paire d'images donnée.
|
|
|
|
|
|
![](./media/image76.png)
|
|
|
|
|
|
# Affichage des résultats de vitesse
|
|
|
|
|
|
## Description des calques de résultats pour les calculs de vitesse
|
|
|
|
|
|
Lors de chaque étape de calcul des vitesses ([vitesses instantanées](#calcul-des-vitesses-de-d%C3%A9placement-des-traceurs), [filtrées](#filtrage-des-r%C3%A9sultats-instantan%C3%A9s) et [moyennes](#moyenne-des-r%C3%A9sultats)), un groupe de calque spécifique est créé. Ce groupe comprend systématiquement 3 types de calques :
|
|
|
|
|
|
- Calque Vitesses. ![](./media/image77.png)
|
|
|
- Calque Particules ![](./media/image78.png)
|
|
|
- Calque Isosurfaces ![](./media/image79.png)
|
|
|
|
|
|
![](./media/image80.png)
|
|
|
|
|
|
## Calque Vitesse
|
|
|
|
|
|
Ce calque permet la visualisation des résultats sous forme de vecteurs, comme illustré ci-dessous.
|
|
|
|
|
|
![](./media/image81.png)
|
|
|
|
|
|
Les options d’affichage suivantes sont disponibles via la barre d’outils graphique (attention à bien sélectionner le calque sur lequel les options d’affichage souhaitent être appliqués) :
|
|
|
|
|
|
- Configuration ![](./media/image82.png) ouvre la fenêtre de configuration. Celle-ci permet de changer l’apparence des vecteurs et certains paramètres d’affichage des résultats.
|
|
|
|
|
|
![](./media/image83.png)
|
|
|
|
|
|
# Calcul du débit
|
|
|
|
|
|
Fudaa-LSPIV peut calculer un débit à partir des vitesses moyennées si un ou plusieurs transects de bathymétrie connue sont renseignés, voir la page des Principes du calcul de débit pour plus de détails.
|
|
|
|
|
|
## Spécifier un ou plusieurs transects bathymétriques
|
|
|
|
|
|
Trois méthodes sont possibles pour renseigner un ou plusieurs transects bathymétriques :
|
|
|
|
|
|
![](./media/image84.png)
|
|
|
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Nouveau_** lance l'interface pour définir un profil bathymétrique. Un profil est renseigné sur une droite, de préférence perpendiculaire à l'écoulement. Renseigner d'abord la coordonnée Z dans le repère réel du bord en rive gauche du transect, puis cliquer sur le point correspondant dans l'image orthorectifiée. Répéter l'opération pour tous les points du transect bathymétriques. Les deux premiers points renseignés définissent l’orientation du profil bathymétrique. Les profils bathymétriques sont stockés dans **_outputs.dir/bathy_p.dat_**. Le coefficient unique de vitesse est par défaut fixé à 0.85 et s’applique à tous les points du transect. En décochant la case **_Coef. unique de vitesse_**, il devient possible de définir un coefficient pour chaque nœud du transect. Si des valeurs de coefficients sont manquantes pour certains nœuds, elles seront interpolées linéairement selon la distance le long du transect, avec une extrapolation constante jusqu'aux bords. Les paramètres de chaque transect (voir les détails à la section suivante) peuvent être définis.
|
|
|
|
|
|
![](./media/image85.png)
|
|
|
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Importer_** permet de charger un profil bathymétrique existant sous forme d’un fichier texte X,Y,Z. Si les points de ce transect ne sont pas parfaitement alignés sur une droite, ils sont projetés sur la droite définie par le premier et le dernier point du transect. Il est possible d'importer plusieurs transects à la fois.
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Nouveau transect en abscisse-cote_** permet de calculer automatiquement les coordonnées XYZ d’un transect défini en coordonnées abscisse-cote. D’abord, une fenêtre de saisie s’ouvre pour que l’utilisateur définisse l’origine du transect (donnée par un premier point à cliquer) et son orientation (donnée par un deuxième point à cliquer, qui ne sera pas nécessairement l’extrémité du transect) :
|
|
|
|
|
|
![](./media/image86.png)
|
|
|
|
|
|
> Ensuite, une fenêtre s’ouvre pour la définition des paramètres du transect (voir les détails à la section suivante), l’ajout de points avec le bouton ![](./media/image87.png), la suppression de points avec le bouton ![](./media/image88.png), et l’édition libre de leurs coordonnées abscisses-cotes dans le tableau. Le bouton ![](./media/image89.png) permet d’importer un transect sous forme d’un simple fichier texte comportant deux colonnes pour abscisse et cote, séparées d’un espace ou d’une tabulation. La fenêtre propose également une visualisation des points du transect dans le plan vertical abscisse-cote :
|
|
|
>
|
|
|
> ![](./media/image90.png)
|
|
|
|
|
|
### Inverser des transects
|
|
|
|
|
|
> Si l’orientation d’un ou plusieurs transects n’est pas bonne (rive droite et rive gauche inversées), sélectionner le calque **_Transects_** du groupe de calques **_Débit_**, sélectionner le ou les transects mal orientés avec l’outil de sélection ![](./media/image91.png) puis utiliser le menu **_Edition 🡪 Inverser des transects._**
|
|
|
|
|
|
![](./media/image92.png)
|
|
|
|
|
|
> Ou bien \*\*\*clic-droit 🡪 Inverser des transects \*\*\*:
|
|
|
|
|
|
![](./media/image93.png)
|
|
|
|
|
|
## Paramètres des transects
|
|
|
|
|
|
Sélectionner le calque **_Transects_** du groupe de calques **_Débit_**, sélectionner le ou les transects à paramétrer avec l’outil de sélection![](./media/image91.png), puis utiliser le menu **_Débit 🡪 Paramètres du transect._**
|
|
|
|
|
|
![](./media/image94.png)
|
|
|
|
|
|
- Le **_Pas d’espace d’interpolation de la bathymétrie (m)_** permet d’interpoler un transect bathymétrique pas assez échantillonné. Comme le débit est calcul en utilisant les vitesses au niveau des points de bathymétrie connue (voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)), le transect doit comporter environ 20 points dans la zone mouillée. L’interpolation en Z se fait linéairement à partir des données voisines. L’affichage graphique montre l’effet de l’interpolation sur l’image orthorectifiée.
|
|
|
- Les **_Rayons de recherche des vitesses (m)_** définissent les axes de la zone ellipsoïdale autour du point de bathymétrie connue dans laquelle on moyennera les vitesses LSPIV calculée (Vitesses de surface moyennées) pour lui affecter une valeur de vitesse de surface (voir les <span dir="">Principes du calcul de débit</span>). Les rayons de recherche Rx et Ry définissent les demi-axes des ellipsoïdes le long des axes horizontal et vertical, respectivement. Si l'icône **_Lier/Délier_** ![](./media/image95.png) est cochée ![](./media/image96.png), les valeurs Rx et Ry seront forcément égales, c'est-à-dire que des zones de recherche circulaires sont définies. L’affichage graphique montre l’emprise des rayons de recherche autour de chaque point bathymétrique.
|
|
|
- Le **_Coefficient de vitesse_** est le ratio de la vitesse moyennée sur la profondeur sur la vitesse de surface. Il permet de calculer une vitesse moyennée sur la profondeur à partir de la vitesse de surface affectée au point bathymétrique (voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)).
|
|
|
- Le **Nombre de points max** permet de réduire le nombre de points du transect (sous-échantillonnage de la bathymétrie) en éliminant les points dont la suppression change le moins la surface mouillée du transect.
|
|
|
|
|
|
Les données et les paramètres d'un transect peuvent également être édités nœud par nœud : sélectionner le transect puis cliquer droit sur **_Editer_**.
|
|
|
|
|
|
![](./media/image97.png)
|
|
|
|
|
|
En plus des paramètres du transect mentionnés ci-dessus, les coordonnées XYZ des nœuds du transect peuvent être modifiées. Des nœuds supplémentaires peuvent être ajoutés et définis. Les nœuds sélectionnés peuvent être supprimés ou déplacés de haut en bas dans la liste pour changer leur ordre.
|
|
|
|
|
|
Si la case **_Coef. unique de vitesse_** est décochée, différents coefficients de vitesse peuvent être spécifiés pour chaque noeud du transect. Si des valeurs de coefficients sont manquantes pour certains noeuds, elles seront interpolées linéairement selon la distance le long du transect, avec une extrapolation constante jusqu'aux bords. Il en va de même dans le cas où de nouveaux nœuds sont créés, c'est-à-dire si le pas d'interpolation est inférieur à la plus grande distance entre deux nœuds consécutifs du transect. L'interpolation des coefficients est effectuée lorsque les boutons **_Appliquer_** ou **_Valider_** sont activés. Les résultats de l'interpolation peuvent être vus lorsque la fenêtre d'édition du transect est rouverte.
|
|
|
|
|
|
## Calcul du débit
|
|
|
|
|
|
Le menu **_Débit 🡪 Calcul du débit_** lance le calcul de débit pour les transects bathymétriques présents. Pour les détails du calcul de débit, voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit). A la fin du calcul, la fenêtre des résultats de débit s’ouvre.
|
|
|
|
|
|
![](./media/image98.png)
|
|
|
|
|
|
Le **_Niveau d'eau_** utilisé dans le calcul est affiché pour mémoire (non modifiable).
|
|
|
|
|
|
Le tableau (non modifiable) vous permet de voir les paramètres calculés pour tous les transects (une ligne par transect) et de comparer chaque résultat à la moyenne de tous les transects (indiquée en dernière ligne) : la différence par rapport à la moyenne est exprimée en **_Ecart (%)_**.
|
|
|
|
|
|
La colonne **_Coef. vitesse_** affiche le coefficient de vitesse moyen. Dans le cas de coefficients variables le long d'un transect, c'est le coefficient constant qui aurait donné le même résultat de débit. Il est calculé en divisant le débit total par le débit virtuel calculé avec un coefficient constant égal à 1.
|
|
|
|
|
|
Les colonnes **_Q total_**, **_Aire mouillée_** et **_Vit. moy._** affichent le débit, la surface mouillée et la vitesse débitante.
|
|
|
|
|
|
La colonne **_Q mesuré / Q total_** affiche le rapport entre le débit calculé à partir des vitesses mesurées seulement (c.-à-d. interpolées à partir des vitesses LSPIV voisines) et le débit total (y compris l'extrapolation des vitesses manquantes du transect). C'est une mesure du poids de l'extrapolation des vitesses dans le résultat de débit total.
|
|
|
|
|
|
Le menu **_Débit 🡪 Afficher les résultats du calcul_** permet de revoir le tableau de calcul de débit sans relancer le calcul.
|
|
|
|
|
|
Le calque **_Débit 🡪 Vitesses moyennes_** ( i.e. les vitesses moyennées sur la profondeur) est créé et s’affiche sur l’orthoimage. Il permet de visualiser les vitesses moyennées sur la profondeur à chaque point bathymétrique. Par défaut, les **_vitesses interpolées_** (calculées comme la moyenne pondérée par l'inverse de la distance des trois vitesses les plus proches autour de chaque nœud du transect, multipliée par le coefficient de vitesse) sont affichées sous forme de vecteurs jaunes. Les **_vitesses extrapolées_** (dont la norme est calculée à partir des vitesses interpolées les plus proches et de la profondeur d'écoulement locale en supposant que le nombre de Froude local varie linéairement) sont affichées sous forme de vecteurs bruns. L'orientation des vitesses extrapolées est interpolée à partir de l'orientation des vitesses interpolées les plus proches. Pour plus de détails, voir voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit).
|
|
|
|
|
|
![](./media/image99.png)
|
|
|
|
|
|
Après sélection des transects d’intérêt, le menu **_Débit 🡪 Vue 3D du (des) transects(s)_** permet une visualisation en 3D de la bathymétrie des transects, de la hauteur d’eau et des vitesses moyennées sur la profondeur.
|
|
|
|
|
|
![](./media/image100.png)
|
|
|
|
|
|
##
|
|
|
|
|
|
## Export du rapport de jaugeage
|
|
|
|
|
|
Le menu **_Débit 🡪 Exporter le rapport de jaugeage_** permet de faire un rapport de jaugeage contenant tous les paramètres de l’étude et les résultats. Renseigner les champs de la boite de dialogue concernant des informations sur le lieu, la date et la réalisation de la mesure
|
|
|
|
|
|
![](./media/image101.png)
|
|
|
|
|
|
Après validation, choisir le répertoire de sauvegarde du rapport de jaugeage. Le rapport est un fichier Excel imprimable sur un A4 recto/verso.
|
|
|
|
|
|
![](./media/image102.png) ![](./media/image103.png)
|
|
|
|
|
|
# Export des données
|
|
|
|
|
|
Plusieurs formats d’export sont possibles depuis le menu **_Fichier 🡪 Exporter_** :
|
|
|
|
|
|
- Vue en cours
|
|
|
- Images brutes / transformées / stabilisées
|
|
|
- Export des vitesses au format tableur (Excel…)
|
|
|
- Export des vitesses au format Serafin TELEMAC (.slf) pour être ensuite importé dans un autre logiciel (QGIS, BlueKenue…)
|
|
|
- Rapport de jaugeage
|
|
|
|
|
|
![](./media/image104.png)
|
|
|
|
|
|
Il est également possible d’exporter des résultats au format tableur en sélectionnant le calque et les résultats voulus, puis en cliquant sur l’icône **_Tableau des valeurs_** dans la barre d’outils :
|
|
|
|
|
|
![](./media/image105.png)
|
|
|
|
|
|
# Relancer les calculs d'une étude existante
|
|
|
|
|
|
Pour plus de commodité, il est possible de redémarrer toutes ou plusieurs étapes de calcul à partir du menu **_Fichier 🡪 Relancer tous les calculs...._**
|
|
|
|
|
|
![](./media/image106.png)
|
|
|
|
|
|
Dans la fenêtre **_Relancer tous les calculs_**, l'utilisateur peut sélectionner les étapes de calcul à refaire. Les calculs à jour ne sont pas rejoués, seulement ceux avec des paramètres ayant été modifiés (indiqués « En attente »).
|
|
|
|
|
|
![](./media/image107.png)
|
|
|
|
|
|
## Nettoyage des résultats de calcul
|
|
|
|
|
|
Les résultats de chaque étape (images ou vitesses) peuvent être supprimés avec le menu **_Fichier 🡪 Nettoyer les résultats de calculs._** Les résultats à supprimer sont sélectionnés via la fenêtre du menu (la sélection tient compte des dépendances aux étapes précédentes).
|
|
|
|
|
|
![](./media/image108.png)
|
|
|
|
|
|
# Bug connus et parades
|
|
|
|
|
|
## Le rapport de jaugeage n’est pas créé
|
|
|
|
|
|
A la demande de création du rapport de jaugeage, le message suivant peut apparaître :
|
|
|
|
|
|
![cid:image005.jpg@01D37E32.6C4C2330](./media/image109.jpeg)
|
|
|
|
|
|
La solution consiste à copier le répertoire **_templates_** du répertoire source d’installation du logiciel vers le répertoire **_bin_**
|
|
|
|
|
|
# Approfondissements
|
|
|
|
... | ... | |