Outils pour utilisateurs

Outils du site


homographyarduino

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Dernière révision Les deux révisions suivantes
homographyarduino [2019/12/04 00:12]
bvandepo [Installation de la librairie permettant d'utiliser les homographies sur Arduino]
homographyarduino [2019/12/04 00:31]
bvandepo
Ligne 21: Ligne 21:
   #include <​homography.h>​   #include <​homography.h>​
  
-Déclarer ​une variable globale:  ​+Ce fichier contient la définition de la classe **Homography**:​ 
 +<file cpp homography.h>​ 
 +//​B.Vandeportaele LAAS/CNRS 11/2019 
 + 
 +#ifndef HOMOGRAPHY_H 
 +#define HOMOGRAPHY_H 
 + 
 +#include "​nrutil.h"​ 
 +#include <​math.h>​ 
 +class Homography 
 +
 +public: 
 +    Homography();​ 
 +    ~Homography();​ 
 +    void setP1(float u1,float v1,float u2,float v2) 
 +    { 
 +        u11=u1; 
 +        v11=v1; 
 +        u21=u2; 
 +        v21=v2; 
 +    } 
 +    void setP2(float u1,float v1,float u2,float v2) 
 +    { 
 +        u12=u1; 
 +        v12=v1; 
 +        u22=u2; 
 +        v22=v2; 
 +    } 
 +    void setP3(float u1,float v1,float u2,float v2) 
 +    { 
 +        u13=u1; 
 +        v13=v1; 
 +        u23=u2; 
 +        v23=v2; 
 +    } 
 +    void setP4(float u1,float v1,float u2,float v2) 
 +    { 
 +        u14=u1; 
 +        v14=v1; 
 +        u24=u2; 
 +        v24=v2; 
 +    } 
 +    void computeHandHinv();​ 
 +    bool checkHandHinv();​ 
 +    bool applyH(float u1,float v1,float *ptr_u2,​float *ptr_v2); 
 +    bool applyHinv(float u2,float v2,float *ptr_u1,​float *ptr_v1); 
 + 
 +private: 
 +    float u11,​u12,​u13,​u14,​v11,​v12,​v13,​v14,​u21,​u22,​u23,​u24,​v21,​v22,​v23,​v24;​ 
 +    float **a_matrix_1_8_1_8;​ 
 +    float *b_vector_1_8;​ 
 +    float **H_matrix_1_3_1_3;​ 
 +    float **Hinv_matrix_1_3_1_3;​ 
 +    void initCoefficientsLinearSystemToSolve();​ 
 +}; 
 + 
 +void testHomography();​ 
 +#endif // HOMOGRAPHY_H 
 +</​file>​ 
 + 
 + 
 +Pour pouvoir l'​utiliser,​ vous devez déclarer ​une variable globale ​dans votre croquis:  ​
   Homography hom;   Homography hom;
  
-Exemple ​d'​utilisation dans **setup()**:​+Voici un exemple ​d'​utilisation ​de cet objet dans **setup()**:​
 <file cpp exemple.cpp>​ <file cpp exemple.cpp>​
  
homographyarduino.txt · Dernière modification: 2019/12/04 00:34 par bvandepo