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

Bibliothèques C++ Discussion :

Lecture d'une vidéo avec OpenCV


Sujet :

Bibliothèques C++

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Lecture d'une vidéo avec OpenCV
    Bonjour,

    J'essaie de créer un logiciel de d'acquisition vidéo avec une interface graphique, pour un stage. J'ai donc suivi un tuto, et il y a quelques mois tout fonctionnait parfaitement, j'étais alors sur un PC sous Windows XP, mais depuis que je suis revenu, on m'a attribué un nouveau PC avec Windows 7, sur lequel rien n'avait été installé, et là, tous les exercices que j'avais fait ça ne fonctionnent plus.
    Au lancement du .exe, le programme s'éxecute, mais il se ferme aussitôt. Après vérification j'ai vu que le problème venait de la capture de la vidéo, car il me retourne '10'.
    J'ai donc vérifié le chemin (absolue et pas absolue) de la vidéo qui se trouve dans le dossier du .exe, j'ai essaye plusieurs vidéos, et j'ai installé VLC pour les codecs, mais rien n'y fait.

    Voici un des codes qui ne fonctionnent plus (copié/collé du tuto) :

    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
    63
    64
     
    #include <highgui.h>
    #include <cv.h>
    #include <iostream.h>
    #include <string.h>
     
    using namespace std;
                // Image qui contiendra les frames de la vidéo
                IplImage* img;
     
     
                // La capture vidéo, ici, un fichier :
                CvCapture* capture = cvCreateFileCapture("webcam.avi");
     
                // On vérifie que la capture est bien initialisée,
                // si ce n'est pas le cas, on quitte le programme.
                if( !capture )
                {
                    cout << "10";
                    return 10;
                }
     
     
                cvNamedWindow("Video", CV_WINDOW_AUTOSIZE);
                char key;
     
                // On essaye de capturer une frame
                if(!cvGrabFrame( capture ))
                {
                    cout << "20";
                    return 20;
                }
     
     
                // Tant qu'on n'a pas appuyé sur Q, on continue :
                while(key != 'q')
                {
     
                    // On décompresse la dernière frame récupérée...
                    img = cvRetrieveFrame( capture );
     
                    // ... et on la montre à l'écran.
                    cvShowImage( "Video", img );
     
                    // On attend : IMPORTANT !
                    key = cvWaitKey(47);
     
                    // On essaye de capturer la frame suivante
                    if(!cvGrabFrame( capture ))
                    {
                        key = 'q';
                        cout << "Marche pas...";
                    }
     
                }
     
                // On détruit les fenêtres créées : nouvelle fonction. ;)
                cvDestroyAllWindows();
     
                // On n'a pas besoin de détruire l'image.
                img = NULL;
     
                // On détruit la capture
                cvReleaseCapture( &capture );
    J'utilise OpenCV 2.0 avec Code Blocks et Qt (autant sous XP que sous 7).
    Ca fait un petit moment que je fouille le web à la recherche de la solution en vain, j'espère donc pouvoir trouver quelqu'un à même de m'aider.
    Merci.

  2. #2
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    salut.


    as-tu remis les dll opencv là ou elles étaient liées dans ton programme original (à moins que ti fasse un linkage statique)? ton nouveau pc serait-il un 64 bits ? a tu recompilé ton programme ? sais-tu exactement à quelle ligne se produit l'erreur ?
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/09/2013, 07h49
  2. Script pour lancer la lecture d'une vidéo avec VLC
    Par victo dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 31/08/2011, 15h24
  3. Lecture d'une vidéo avec cvCaptureFromAVI
    Par méphistopheles dans le forum OpenCV
    Réponses: 0
    Dernier message: 04/01/2011, 17h44
  4. Lecture d'une vidéo avec TMediaPlayer
    Par pepito62 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 06/12/2008, 09h09
  5. [GTK+] Capture vidéo avec OpenCV et intégration dans une GUI GTK+
    Par kurapix dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 21/04/2008, 10h12

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