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 :

Obtenir une IplImage à partir d'un vecteur


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut Obtenir une IplImage à partir d'un vecteur
    Donc voila mon problème je récupère des données d'une image sous forme de vector de unsigned char de taille width * height * 3.
    Je suis en RGB. j'ai donc un vector d'environs 920 000 cases. Admettons que je transforme ce vector en unsigned char *.
    Comment faire pour créer une IplImage a partir de ce tableau?

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Tu crées une image RGB avec cvCreateImage(). Cela va te retourner un pointeur sur l'image IplImage. Après tu fais un memcpy() ou un boucle pour remplir ton image avec les valeurs de ton vecteur.
    Désolé j'ai pas peu mettre un bout de code car j'ai pas le temps de me replonger dans OpenCV. Si tu as encore des problème, essaie d'avancer en laissant un bout de code et je serai surement plus précis.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Par défaut
    Merci de ta réponse j'ai réussi grâce à ça =)

    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
    SizeInBytes = ImageHeight * ImageWidth * 3;
        std::vector<unsigned char> ImageData(SizeInBytes);
     
        IplImage *img = 0;
        cvNamedWindow("WebCam", 1);
        cvMoveWindow("WebCam", 600, 00);
        cvResizeWindow("WebCam", 640, 480);
     
        int n = 0;
        do
        {
            Result = UCC_GrabBitmapImage( CamId, &*ImageData.begin(), &ColorCoding, 100);
            if(S_OK !=Result)
            {
                return 0;
            }
     
            img = cvCreateImage(cvSize(640,480), IPL_DEPTH_8U, 3);
            for(int i = 0; i < ImageData.size(); i++)
            {
                img->imageData[i] = ImageData[i];
            }
     
            cvShowImage( "WebCam", img );
            cvSaveImage("toto.bmp", img);
     
            int key = (char)cvWaitKey(10);
            if ( key == 27|| key == 'q'|| key == 'Q') break;
     
            cvReleaseImage(&img);
        }while(1);

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Tres bien en gros c'était le principe.

    @+
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/04/2007, 12h16
  2. [VB.Net] Obtenir une date à partir d'un numero de semaine
    Par tonysky dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/01/2007, 08h57
  3. Réponses: 6
    Dernier message: 25/09/2006, 14h51
  4. Obtenir une chaîne à partir d'une énumération
    Par zidenne dans le forum Langage
    Réponses: 1
    Dernier message: 12/11/2005, 10h39
  5. [Regexp] Obtenir une regexp à partir du texte ?
    Par Alec6 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 16h40

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