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 :

Comment sauvegader un ensemble de frames ?


Sujet :

OpenCV

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Points : 26
    Points
    26
    Par défaut Comment sauvegader un ensemble de frames ?
    j'ai besoin de sauvegarder un ensemble de frame a partir d'un video.
    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
    #include <iostream>
    #include "highgui.h"
    #include "cv.h"
    using namespace std;
     
    int main()
    {
        CvCapture *capture=cvCaptureFromAVI("video2.avi");
        double nbFrames=cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);
        cout<<"nombre de frames  "<<nbFrames<<endl;
        if (!capture) {
     
            cout<<"Ouverture du flux vidéo impossible !\n"<<endl;
            cout<<capture<<endl;
            return 1;
     
        }
        cvNamedWindow("Analyse de la marche", CV_WINDOW_AUTOSIZE);
        IplImage** list = new IplImage*[15];
        IplImage *image;
        for(int i=0;i<=15;i++)
        {
            image=cvQueryFrame(capture);
            list[i] = cvCreateImage(cvGetSize(image), image->depth, 3);
            cvCopy(image,list[i]);
     
        }
     
        for(int i=0;i<15;i++)
        {
            cvShowImage("Analyse de la marche",list[i]);
            cvWaitKey();
        }
       /* cvDestroyWindow("Analyse de la marche");
     
        cout<<"affiche de frame 99"<<endl;
        cvWaitKey(10);*/
        return(0);
    }
    lorsque j'execute ce code il m'affiche pas les frames mais il m'affiche
    Segmentation fault (core dumped)

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


  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Points : 968
    Points
    968
    Par défaut
    Pourquoi utiliser l'interface C d'OpenCV alors que vous programmez en C++ ? Ça n'est qu'une grosse source d'erreurs au niveau de la gestion de la mémoire (en plus d’être moche).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	cv::VideoCapture capture(videoName);
    	cv::Mat frame;
    	do
    	{
    		capture >> frame;
    		if(frame.empty()) break;
     
    		cv::imwrite(outoutImageName, frame);
     
    		cv::imshow("Image", frame);
    		cv::waitKey(1);
    	} while( !frame.empty() );
    }
    C'est quand même un peu plus simple, non ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2012
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    grand merci,Malgre que ce que tu as dit ne cause pas de probleme de memoire, mais le proble est cause par la petite erreur au niveau de la boucle et pour cela j'ai dit grand merci a Winjerome.

Discussions similaires

  1. Comment pinguer un ensemble d'adresses IP?
    Par redabadache3 dans le forum Développement
    Réponses: 8
    Dernier message: 28/06/2012, 10h10
  2. Comment faire pour imprimer une frame ?
    Par serialkilled dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 23/05/2006, 15h32
  3. [Frame] comment desactiver l'exit de frame??
    Par @yoyo dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 24/03/2006, 16h35
  4. [Forms6i]Comment manipuler en runtime un Frame ?
    Par patmaba dans le forum Oracle
    Réponses: 2
    Dernier message: 23/11/2005, 16h39
  5. Réponses: 3
    Dernier message: 27/10/2004, 14h43

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