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 :

Problème avec findContours


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut Problème avec findContours
    Bonjour,
    Actuellement, je suis en terminale S-SI.
    Dans le cadre de mon PPE,j'essaye de détecter ,sur une image récupérée avec une webcam, si l’œil est fermé ou non.
    je programme en C++ (je suis encore un débutant) et j'ai décidé d'utiliser la bibliothèque OpenCV pour faire le traitement d'image.
    Je récupère l'image puis j'essaye de trouver les contours avec la fonction findContours.
    Je compile et c'est là qu'apparaît une erreur.
    Mon compilateur me renvoie:"error: expected primary-expression before 'Contours' "
    Je comprends pas cette erreur. Est ce que quelqu'un pourrait m'aider ?




    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #include <iostream>
    #include <string>                       //  Pour écrire des chaînes
    #include <fstream>                      // Ecrire ou lire des fichiers
    #include <vector>                       // Tableaux dynamiques
     
    #include "opencv/highgui.h"             // Directives de preprocesseurs pour inclure OpenCV
    #include "opencv2/highgui/highgui.hpp"
    #include "opencv2/core/core_c.h"
    #include "opencv2/opencv.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
    #include "opencv2/objdetect/objdetect.hpp"
     
     
     
    using namespace std;     // Espaces de noms
    using namespace cv;
     
    int main()               // Fonctions principales
    {
        int i(1);
        while (i==1)         // Boucle infini
        {
     
            IplImage* oeil = NULL; //On crée une image oeil
            CvCapture* capture = cvCaptureFromCAM(0);     // Initialise la capture
            oeil=cvQueryFrame(capture); // On recupere l'image
     
            findContours(oeil,vector<vector<Point> > Contours,RETR_TREE,CHAIN_APPROX_SIMPLE); // Trouver les contours
     
     
            // programme
     
            cvNamedWindow("Photo webcam", CV_WINDOW_AUTOSIZE);  // On crée une fenêtre
            cvMoveWindow("Photo webcam", 100, 100);   // Position de la fenêtre
     
            cvShowImage("Photo webcam", oeil );    // Affichage de l'oeil
     
            cvWaitKey (2000);// On attend que l'utilisateur appuie sur un bouton, l'argument indique le nombre de ms
     
            cvReleaseImage(&oeil );    // On libére la mémoire utilisée pour l'image
            cvReleaseCapture(&capture);// On libere la capture de la webcam en mémoire
     
     
        }
        return 0;
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Sépare la déclaration et utilisation en deux instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vector<vector<Point> > contours;
    findContours(oeil, contours, RETR_TREE, CHAIN_APPROX_SIMPLE); // Trouver les contours
    Remarque : puisque tu codes en C++ utilise vraiment son namespace cv::, ici IplImage, cvCaptureFromCAM, CvCapture, cvQueryFrame, cvNamedWindow, cvMoveWindow, cvShowImage, cvWaitKey, cvReleaseImage, cvReleaseCapture viennent de l'interface C d'OpenCV.

    Un exemple ici de code C++.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut
    Bonjour,
    Tout d'abord, merci de m'avoir répondu.
    J'ai suivi le conseil en déclarant en premier les contours puis en les utilisant. Cependant, ça ne fonctionne toujours pas et le compilateur me renvoie l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ""error: no matching function for call to 'findContours(IplImage*&, std::vector<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > >, std::allocator<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > > > >&, cv::<anonymous enum>, cv::<anonymous enum>)'| 
    "
    Puis j'ai essayé le code en C++ donné par la documentation openCV en lien.
    Je compile et ce programme ne marche pas non plus.
    Le compilateur renvoie comme erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|18|undefined reference to `cv::VideoCapture::VideoCapture(int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|19|undefined reference to `cv::VideoCapture::isOpened() const'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|23|undefined reference to `cv::namedWindow(cv::String const&, int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|27|undefined reference to `cv::VideoCapture::operator>>(cv::Mat&)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|28|undefined reference to `cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|29|undefined reference to `cv::GaussianBlur(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|30|undefined reference to `cv::Canny(cv::_InputArray const&, cv::_OutputArray const&, double, double, int, bool)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|31|undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|32|undefined reference to `cv::waitKey(int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|35|undefined reference to `cv::VideoCapture::~VideoCapture()'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\essai++\main.cpp|35|undefined reference to `cv::VideoCapture::~VideoCapture()'|
    obj\Debug\main.o||In function `String':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\cvstd.hpp|477|undefined reference to `cv::String::allocate(unsigned int)'|
    obj\Debug\main.o||In function `~String':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\cvstd.hpp|519|undefined reference to `cv::String::deallocate()'|
    obj\Debug\main.o||In function `InputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|63|undefined reference to `vtable for cv::_InputArray'|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|65|undefined reference to `vtable for cv::_InputArray'|
    obj\Debug\main.o||In function `~_InputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|109|undefined reference to `vtable for cv::_InputArray'|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|109|undefined reference to `vtable for cv::_InputArray'|
    obj\Debug\main.o||In function `OutputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|121|undefined reference to `vtable for cv::_OutputArray'|
    obj\Debug\main.o||In function `~_OutputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.hpp|159|undefined reference to `vtable for cv::_OutputArray'|
    obj\Debug\main.o||In function `~Mat':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|532|undefined reference to `cv::fastFree(void*)'|
    obj\Debug\main.o:C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|642|undefined reference to `__sync_fetch_and_add_4'|
    obj\Debug\main.o:C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|643|undefined reference to `cv::Mat::deallocate()'|
    ||=== Build finished: 22 errors, 0 warnings ===|

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par philo22 Voir le message
    J'ai suivi le conseil en déclarant en premier les contours puis en les utilisant. Cependant, ça ne fonctionne toujours pas et le compilateur me renvoie l'erreur suivante:
    Parce que justement la fonction que tu emploies fait partie du namespace C++ cv::findContours. Et celle-ci prend en entrée un objet cv::Mat de l'interface C++, contrairement à son homologue C cvFindContours (qui elle n'acceptera plus les std::vector du C++ ). (Cf. documentation).

    Citation Envoyé par philo22 Voir le message
    Le compilateur renvoie comme erreur:
    Il semble que tu aies oublié de linker la bibliothèque OpenCV à ton projet.
    Voir la partie II-B-2 du tutoriel Installer et configurer une bibliothèque dans un projet.
    Tu auras au minimum à lier :
    • opencv_core
    • opencv_imgproc
    • opencv_highgui
    • opencv_objdetect

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut
    Bonjour.
    J'ai réecrit mon code pour qu'il soit écrit complétement en C++:

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include <iostream>
    #include <string>                       //  Pour écrire des chaînes
    #include <fstream>                      // Ecrire ou lire des fichiers
    #include <vector>                       // Tableaux dynamiques
    #include "opencv2/core.hpp"
    #include "opencv2/imgproc.hpp"
    #include "opencv2/photo.hpp"
    #include "opencv2/video.hpp"
    #include "opencv2/features2d.hpp"
    #include "opencv2/objdetect.hpp"
    #include "opencv2/calib3d.hpp"
    #include "opencv2/imgcodecs.hpp"
    #include "opencv2/videoio.hpp"
    #include "opencv2/highgui.hpp"
    #include "opencv2/ml.hpp"
     
     
    using namespace std;     // Espaces de noms
    using namespace cv;
     
    int main()               // Fonctions principales
    {
        while (1)         // Boucle infini
        {
     
            Mat oeil ; 
            VideoCapture cap(-1); // On créé un objet grâce à la classe VideoCapture
            if(!cap.isOpened())  // la caméra est elle initialisé ?
            {
                return -1;
            }
     
     
            vector<vector<Point> > Contours ;
            findContours(oeil,Contours,RETR_TREE,CHAIN_APPROX_SIMPLE); // Trouver les contours
     
            // programme
     
            namedWindow("Photo webcam", WINDOW_AUTOSIZE);  // On crée une fenêtre
            moveWindow("Photo webcam", 100, 100);   // Position de la fenêtre
            imshow("Photo webcam", oeil );    // Affichage de l'oeil
            waitKey(2000);// On attend que l'utilisateur appuie sur un bouton, l'argument indique le nombre de ms
            // On libére la mémoire utilisée pour l'image
            cap.release() ;   // On libere la capture de la webcam en mémoire
     
     
        }
        return 0;
    }

    En suivant la documentation OpenCV, j'ai utilisé les fonctions et les méthodes C++.

    Pourtant le compilateur me renvoie l'erreur suivante (il y a 50 erreurs en tout):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    obj\Debug\main.o||In function `main':|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|27|undefined reference to `cv::VideoCapture::VideoCapture(int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|28|undefined reference to `cv::VideoCapture::isOpened() const'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|32|undefined reference to `cv::VideoCapture::operator>>(cv::Mat&)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|35|undefined reference to `cv::findContours(cv::_InputOutputArray const&, cv::_OutputArray const&, int, int, cv::Point_<int>)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|39|undefined reference to `cv::namedWindow(cv::String const&, int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|40|undefined reference to `cv::moveWindow(cv::String const&, int, int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|41|undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|42|undefined reference to `cv::waitKey(int)'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|44|undefined reference to `cv::VideoCapture::release()'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|23|undefined reference to `cv::VideoCapture::~VideoCapture()'|
    C:\Users\philo\Documents\Programmation\Programmation en C++\oeil4\main.cpp|23|undefined reference to `cv::VideoCapture::~VideoCapture()'|
    obj\Debug\main.o||In function `String':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\cvstd.hpp|477|undefined reference to `cv::String::allocate(unsigned int)'|
    obj\Debug\main.o||In function `~String':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\cvstd.hpp|519|undefined reference to `cv::String::deallocate()'|
    obj\Debug\main.o||In function `InputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|63|undefined reference to `vtable for cv::_InputArray'|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|65|undefined reference to `vtable for cv::_InputArray'|
    obj\Debug\main.o||In function `~_InputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|109|undefined reference to `vtable for cv::_InputArray'|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|109|undefined reference to `vtable for cv::_InputArray'|
    obj\Debug\main.o||In function `OutputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|119|undefined reference to `vtable for cv::_OutputArray'|
    obj\Debug\main.o||In function `~_OutputArray':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.hpp|159|undefined reference to `vtable for cv::_OutputArray'|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.hpp|159|undefined reference to `vtable for cv::_OutputArray'|
    obj\Debug\main.o||In function `~Mat':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|532|undefined reference to `cv::fastFree(void*)'|
    obj\Debug\main.o:C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|642|undefined reference to `__sync_fetch_and_add_4'|
    obj\Debug\main.o:C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|643|undefined reference to `cv::Mat::deallocate()'|
    obj\Debug\main.o||In function `OutputArray<cv::Point_<int> >':|
    C:\Program Files\CodeBlocks\opencv\build\include\opencv2\core\mat.inl.hpp|131|undefined reference to `vtable for cv::_OutputArray'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x8)||undefined reference to `cv::_InputArray::getMat(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0xc)||undefined reference to `cv::_InputArray::getUMat(int) const'|
    :main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x10)||undefined reference to `cv::_InputArray::getMatVector(std::vector<cv::Mat, std::allocator<cv::Mat> >&) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x14)||undefined reference to `cv::_InputArray::getUMatVector(std::vector<cv::UMat, std::allocator<cv::UMat> >&) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x18)||undefined reference to `cv::_InputArray::getGpuMat() const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x1c)||undefined reference to `cv::_InputArray::getOGlBuffer() const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x20)||undefined reference to `cv::_InputArray::kind() const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x24)||undefined reference to `cv::_InputArray::dims(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x28)||undefined reference to `cv::_InputArray::cols(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x2c)||undefined reference to `cv::_InputArray::rows(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x30)||undefined reference to `cv::_InputArray::size(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x34)||undefined reference to `cv::_InputArray::sizend(int*, int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x38)||undefined reference to `cv::_InputArray::sameSize(cv::_InputArray const&) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x3c)||undefined reference to `cv::_InputArray::total(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x40)||undefined reference to `cv::_InputArray::type(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x44)||undefined reference to `cv::_InputArray::depth(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x48)||undefined reference to `cv::_InputArray::channels(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x4c)||undefined reference to `cv::_InputArray::isContinuous(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x50)||undefined reference to `cv::_InputArray::isSubmatrix(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x54)||undefined reference to `cv::_InputArray::empty() const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x58)||undefined reference to `cv::_InputArray::copyTo(cv::_OutputArray const&) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x5c)||undefined reference to `cv::_InputArray::copyTo(cv::_OutputArray const&, cv::_InputArray const&) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x60)||undefined reference to `cv::_InputArray::offset(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x64)||undefined reference to `cv::_InputArray::step(int) const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x70)||undefined reference to `cv::_OutputArray::fixedSize() const'|
    obj\Debug\main.o:main.cpp:(.rdata$_ZTVN2cv17_InputOutputArrayE[vtable for cv::_InputOutputArray]+0x74)||undefined reference to `cv|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build finished: 50 errors, 0 warnings ===|
    Je comprends pas pourquoi il y a écrit "undefined reference".

    Quant à la bibliothéque OpenCV, je l'ai bien intégré à code blocks ce qui fait que je comprends pas l'erreur.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par philo22 Voir le message
    Quant à la bibliothéque OpenCV, je l'ai bien intégré à code blocks ce qui fait que je comprends pas l'erreur.
    Tu en es bien sûr ? Cela concerne les troisième et quatrième images de la partie.
    Aussi, as-tu bien pris les bonnes lib ? Genre 32/64 bits ou VS/Mingw...

    En ce qui concerne le code, pour rester portable, on préfèrera inclure les fichiers entre < ... > : #include <opencv2/core.hpp> et désigner le bon dossier dans les paramètres du projet (Par contre je n'ai pas ces fichiers dans les dossiers désignés mais un dossier en-dessous, dans leur module respectif. )
    Et mets la création de l'objet VideoCapture en dehors de la boucle, comme montré dans l'exemple.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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