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 :

cvWriteFrame et niveaux de gris


Sujet :

OpenCV

  1. #1
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut cvWriteFrame et niveaux de gris
    salutations

    j'essaye de faire un traitement et d'en ressortir une video
    tant que mon traitement etait en couleur tout allait bien (la video de sorti etait correcte)
    j'ai converti mes images en noir et blanc et tenté d'en faire une video, mais là c'est le drame
    je me retrouve avec une video pas vraiment conforme à mes attentes
    on retrouve sur la premiere ligne le resultat attendu en 3 exemplaire
    sur la 2ieme ligne la video source en grayscale ...

    voyez par vous même:




    ça pue le 'je met du grayscale là ou il fallait mettre du RGB et donc ça déborde et ça vas tapper dans d'autres zones mémoires'
    il n'as pas l'air d'être interdit de faire des videos en grayscale dans la doc, je ne vois rien non plus qui me permette de changer les parametres de la video ... je ne comprend pas

    sauvegarder les frames dans des .png me donne des resultats corrects (l'image resultat dans le bon format)
    le code strippé:
    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
     
    init()
    {...
    tmpwriter2 = cvCreateVideoWriter("out2.avi",CV_FOURCC('D', 'I', 'V', 'X'),20,frameSize,0);
    ...}
     
    getframe(my_cap *this)
    {...
        cap = cvRetrieveFrame(this->capture);
        cvCvtColor(cap, img,CV_RGB2GRAY );
        cvSaveImage("sub.png",this->imgs[this->idex]);
        cvWriteFrame(tmpwriter2,this->imgs[this->idex]);
    ...}
     
    endcap()
    {...
    cvReleaseVideoWriter(&tmpwriter2);
    ...}
    click my www
    ............|___
    ...................\
    .................._|_
    ..................\ /
    ..................."

  2. #2
    Membre habitué
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Points : 145
    Points
    145
    Par défaut
    Interdit ou pas par la doc... si tu vois que ça marche pas c'est mieux de reconvertir ton image de gray_scale en RGB.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IplImage *im_out = cvCreateImage(cvGetSize(im_gray),IPL_DEPTH_8U,3);
    cvCvtColor(im_gray,im_out, CV_GRAY2BGR)
    et t'envoies les propriétés vers imageOut

    si c'est pas ça le problème c'est peut-être ton codec qui déconne, moi celui qui marche le mieux c'est XVID -> CV_FOURCC('X','V','I','D')

Discussions similaires

  1. Histogramme d'une image BMP en niveaux de gris?
    Par bahiatoon dans le forum C++Builder
    Réponses: 13
    Dernier message: 19/11/2008, 16h36
  2. Détection de visages dans une image en niveaux de gris
    Par bert_ dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 04/04/2007, 18h04
  3. [Image] Création d'une image Niveaux de Gris 16 bits
    Par Panthère Bleue dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 13/07/2006, 19h41
  4. recuperer le niveaux de gris d'un pixel en C++
    Par jiraya43 dans le forum MFC
    Réponses: 11
    Dernier message: 24/04/2006, 16h55
  5. Réponses: 4
    Dernier message: 05/01/2006, 20h29

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