IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenCV Discussion :

Calibrer sa caméra


Sujet :

OpenCV

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Par défaut Calibrer sa caméra
    Bonjour a tous,
    Je suis nouveau dans OpenCV et je cherche un tuto qui montre comment calibrer son caméra en utilisant cette biblio (OpenCV).
    Comment peux-je me servir par ces fonctions?
    cvFindChessboardCorners()
    cvCalibrateCamera2()
    Je ne sais même pas comment commencer !!!!
    une question débile! as ce que je dois créer un nouveau projet application win32, console, ... ?

    Merci pour toutes réponse

  2. #2
    Membre confirmé
    Homme Profil pro
    developpeur C++
    Inscrit en
    Décembre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : developpeur C++

    Informations forums :
    Inscription : Décembre 2009
    Messages : 61
    Par défaut
    Il y a déjà un exemple de calibration tout fait fourni avec opencv.

    Dans le dossier d'install d'opencv tu le trouveras dans ...opencv\samples\cpp\calibration.cpp

    voila voila

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Par défaut
    ok!
    Mais comment je-peux m'en servir (étape par étape) stp?! je suis nouveau sur OpenCV

    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Par défaut
    Je viens de créer le projet, grace à Google j'ai pu résolu pas mal d'erreurs Warning,...
    Mais j'ai pas trouvé une solution en ce que concerne l'Erreur LNK2019:
    Voici ce que j'ai comme erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    1>Img.obj : error LNK2019: symbole externe non résolu "double __cdecl cv::calibrateCamera(class std::vector<class std::vector<class cv::Point3_<float>,class std::allocator<class cv::Point3_<float> > >,class std::allocator<class std::vector<class cv::Point3_<float>,class std::allocator<class cv::Point3_<float> > > > > const &,class std::vector<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > >,class std::allocator<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > > > > const &,class cv::Size_<int>,class cv::Mat &,class cv::Mat &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > &,int)" (?calibrateCamera@cv@@YANABV?$vector@V?$vector@V?$Point3_@M@cv@@V?$allocator@V?$Point3_@M@cv@@@std@@@std@@V?$allocator@V?$vector@V?$Point3_@M@cv@@V?$allocator@V?$Point3_@M@cv@@@std@@@std@@@2@@std@@ABV?$vector@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@V?$allocator@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@@2@@3@V?$Size_@H@1@AAVMat@1@3AAV?$vector@VMat@cv@@V?$allocator@VMat@cv@@@std@@@3@4H@Z) référencé dans la fonction "bool __cdecl runCalibration(class std::vector<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > >,class std::allocator<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > > > >,class cv::Size_<int>,class cv::Size_<int>,float,float,int,class cv::Mat &,class cv::Mat &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > &,class std::vector<float,class std::allocator<float> > &,double &)" (?runCalibration@@YA_NV?$vector@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@V?$allocator@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@@2@@std@@V?$Size_@H@cv@@1MMHAAVMat@4@2AAV?$vector@VMat@cv@@V?$allocator@VMat@cv@@@std@@@2@3AAV?$vector@MV?$allocator@M@std@@@2@AAN@Z)
    1>Img.obj : error LNK2019: symbole externe non résolu "void __cdecl cv::projectPoints(class cv::Mat const &,class cv::Mat const &,class cv::Mat const &,class cv::Mat const &,class cv::Mat const &,class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > > &)" (?projectPoints@cv@@YAXABVMat@1@0000AAV?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@@Z) référencé dans la fonction "double __cdecl computeReprojectionErrors(class std::vector<class std::vector<class cv::Point3_<float>,class std::allocator<class cv::Point3_<float> > >,class std::allocator<class std::vector<class cv::Point3_<float>,class std::allocator<class cv::Point3_<float> > > > > const &,class std::vector<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > >,class std::allocator<class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > > > > const &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > const &,class std::vector<class cv::Mat,class std::allocator<class cv::Mat> > const &,class cv::Mat const &,class cv::Mat const &,class std::vector<float,class std::allocator<float> > &)" (?computeReprojectionErrors@@YANABV?$vector@V?$vector@V?$Point3_@M@cv@@V?$allocator@V?$Point3_@M@cv@@@std@@@std@@V?$allocator@V?$vector@V?$Point3_@M@cv@@V?$allocator@V?$Point3_@M@cv@@@std@@@std@@@2@@std@@ABV?$vector@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@V?$allocator@V?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@@2@@2@ABV?$vector@VMat@cv@@V?$allocator@VMat@cv@@@std@@@2@2ABVMat@cv@@3AAV?$vector@MV?$allocator@M@std@@@2@@Z)
    1>Img.obj : error LNK2019: symbole externe non résolu "class cv::Mat __cdecl cv::getOptimalNewCameraMatrix(class cv::Mat const &,class cv::Mat const &,class cv::Size_<int>,double,class cv::Size_<int>,class cv::Rect_<int> *)" (?getOptimalNewCameraMatrix@cv@@YA?AVMat@1@ABV21@0V?$Size_@H@1@N1PAV?$Rect_@H@1@@Z) référencé dans la fonction _main
    1>Img.obj : error LNK2019: symbole externe non résolu "void __cdecl cv::drawChessboardCorners(class cv::Mat &,class cv::Size_<int>,class cv::Mat const &,bool)" (?drawChessboardCorners@cv@@YAXAAVMat@1@V?$Size_@H@1@ABV21@_N@Z) référencé dans la fonction _main
    1>Img.obj : error LNK2019: symbole externe non résolu "bool __cdecl cv::findChessboardCorners(class cv::Mat const &,class cv::Size_<int>,class std::vector<class cv::Point_<float>,class std::allocator<class cv::Point_<float> > > &,int)" (?findChessboardCorners@cv@@YA_NABVMat@1@V?$Size_@H@1@AAV?$vector@V?$Point_@M@cv@@V?$allocator@V?$Point_@M@cv@@@std@@@std@@H@Z) référencé dans la fonction _main
    1>C:\Users\Me\Documents\Programmation\C++\Projet\Img\Debug\Img.exe : fatal error LNK1120: 5 externes non résolus
    Dans quelques forums, ils parlent de rajout des bibliothèques , dont j'en sais pas les quelles. (le script c'est la fonction calibration fourni avec OpenCV, dont je veux l'executer pour calibrer ma camera)

    Merci d'avance

  5. #5
    Membre confirmé
    Homme Profil pro
    developpeur C++
    Inscrit en
    Décembre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : developpeur C++

    Informations forums :
    Inscription : Décembre 2009
    Messages : 61
    Par défaut
    Tu dois configurer ton ide pour qu'il puisse prendre en compte les lib d'opencv.tu regardes dans les options du projet/editeur de liens si je ne me trompes pas

    tu utilises quel IDE ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Par défaut
    Merci mouzlo pour la réponse
    j'utilise VS2010 sous W7, pour répondre à ta question
    Mais en ce que concerne la mienne, ma question est simple, si l'erreur signifes qu'il manque des biblio dans mon projet, alors quels sont ces fameux biblio? sachant, que les biblio d'OpenCV sont déjà ajouter, genre:
    C:\OpenCV2.2\lib\opencv_core220d.lib
    C:\OpenCV2.2\lib\opencv_highgui220d.lib
    C:\OpenCV2.2\lib\opencv_video220d.lib
    C:\OpenCV2.2\lib\opencv_ml220d.lib
    C:\OpenCV2.2\lib\opencv_legacy220d.lib
    C:\OpenCV2.2\lib\opencv_imgproc220d.lib
    et ainsi

    user32.lib, que dans un forum ils recommandent de la rajouter pour ce genre d'erreur, mais dans mon cas l'erreur est toujours présente!!!

    voila, j'espère que j'étais clair!
    et merci encore une fois pour la réponse rapide!

  7. #7
    Membre confirmé
    Homme Profil pro
    developpeur C++
    Inscrit en
    Décembre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : developpeur C++

    Informations forums :
    Inscription : Décembre 2009
    Messages : 61
    Par défaut
    Tes erreurs montrent que des fonctions n'ont pas été trouvées par l'editeur de liens,
    hors ces fonctions se trouvent dans l'entête calib3d.hpp

    Soit il te manque l'include calib3d.hpp ou tu as oublié la lib opencv_calib3d220d.lib

  8. #8
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2019
    Messages : 1
    Par défaut Calibration de caméra
    Bonjour,

    je travaille dans le cadre d'un projet où je doit nécessairement calibrer une caméra, j'ai donc utiliser le fichier cameracalibration.cpp que j'ai compilé qui me donne bien mes paramètres intrinsèques et extrinsèques, cependant pour les paramètres extrinsèques il ne me renvoie que 6 paramètres : 3 pour la rotation et 3 pour la translation. Je voudrait savoir comment faire pour pouvoir accéder à tous les coefficients de ma matrice de rotation donc 9 au total puisque j'en ai besoin dans le calcul des coordonnées pixels de mes points 3D correspondants.

    Cordialement,

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 37
    Par défaut
    Je ne connais pas bien OpenCV, mais il est possible qu'il te donne la rotation sous la forme d'un vecteur (3 nombres) au lieu de la matrice 3x3 complète, non ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/03/2011, 14h27
  2. Optimisation sous contraintes pour calibration de caméra
    Par velkouby dans le forum Mathématiques
    Réponses: 6
    Dernier message: 23/10/2008, 09h46
  3. Calibration de caméra et projection image <-> monde réel
    Par Nzeuwik dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 13/10/2008, 13h10
  4. Calibration de caméras (cvFindChessBoard)
    Par SpongeBob dans le forum OpenCV
    Réponses: 1
    Dernier message: 03/05/2007, 23h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo