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 :

Intégration d'un flux vidéo OpenCV dans GTK+


Sujet :

OpenCV

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 73
    Points
    73
    Par défaut Intégration d'un flux vidéo OpenCV dans GTK+
    Bonjour les développeurs!

    Je suis actuellement en train de rechercher un moyen d'intégrer un flux vidéo dans une fenêtre GTK+.
    J'avais déjà essayer lors d'un projet d'école mais par manque de temps, cette partie n'a pas pu aboutir. Je ré-itère donc mon essai.

    Problèmes :
    - Gros leak mémoire : on ne peut free le IplImage créé avec cvCreateImage dans la fonction ipl_to_gdkpixbuf (sinon le programme plante). Par contre la conversion a l'air de fonctionner (la première image capturée est affichée correctement dans la fenêtre GTK+)
    - Le GtkImage ne se rafraichit pas dans la fonction cameraCapture_threaded

    Je cherche donc à résoudre ces problèmes.

    Et oui, il faut threader le flux vidéo sous peine de voir l'interface GTK+ freezé.

    Voilà le code : http://www.yousendit.com/download/bV...QVMwMEh2Wmc9PQ
    (Le poster ici ne ferait que rendre le post illisible)

    Je vous remercie d'avance pour vos réponses.

    Kurapix

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Malheureusement, je dois me concentrer en ce moment sur le traitement d'image et sur OpenCV, je ferai le gui bien plus tard. j'utilise le GUI d'open qui est pas très beau et pas très élaborée...

    Mais l'idée naïve peut être (car non testée) est de ne pas essayer de faire une conversion mais simplement d'intégrer le flux sans conversion OpenCV vers GTK avec la fonction cvGetWindowName. Genre un cadre que le GUI prépare et vous y placez la fenêtre d'OpenCV. Je n'ai aucune idée s'il faut dans ce cas la (et si oui comment) rafraichir intelligemment dans le GUI de GTK+.

    Car le problème serait comment faire des conversions qui semble inutile a première vue quand les cadences sont de 100 images par seconde et qu'il faut encore pré traité en temps réel avant l'affichage? Même avec un callback approprié ça semble faire usine a gaz (notre persistance rétinienne comme vous le savez probablement fais que de toute façon on tourne à 25 img pas sec).

    Je ne sais pas si vous projetez d'utiliser GTK pour travailler encore sur l'image après coup ou c'est juste une fonction d'affichage du flux?
    En tout cas moi j'ai pris partie pris de faire la chasse au ms un peu partout et le pépère Ducros ne se décarcasse pas pour après les perdre dans le GUI...

    bon courage et cordialement,
    Damien




    cvGetWindowName

    Gets window name by handle

    const char* cvGetWindowName( void* window_handle );

    window_handle
    Handle of the window.

    The function cvGetWindowName returns the name of window given its native handle (HWND in case of Win32 and GtkWidget in case of GTK+).

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 73
    Points
    73
    Par défaut
    Je vous remerci de votre réponse.

    Le but est juste d'afficher le flux vidéo d'OpenCV dans le GUI GTK+, les traitements de l'image se fait avec OpenCV avant .

    Je ne vois pas comment vous pourriez intégrer un flux d'image dans GTK+ sans conversion sachant que :
    - GtkImage est le widget spécifique pour gérer les images avec GTK+
    - GdkPixbuf sert à manipuler l'image (et n'accepte que le RGB alors qu'OpenCV a des images en BGR).

    Le problème ici est le rafraichissement de mon image dans ma fenetre car apparemment la conversion se fait correctement.

    Je remercie d'avance pour toutes les réponses apportées à ma question.

    Kurapix

Discussions similaires

  1. [MFC] Flux vidéo OpenCV dans un composant MFC
    Par TheGzD dans le forum OpenCV
    Réponses: 14
    Dernier message: 26/09/2012, 11h33
  2. [Autres] Intégration de fenêtre OpenCV dans une interface Qt
    Par Gulish dans le forum Bibliothèques
    Réponses: 12
    Dernier message: 20/05/2010, 11h44
  3. Réponses: 0
    Dernier message: 23/04/2010, 15h21
  4. Création ou Intégration d'une galerie vidéo dans mon site web
    Par [ced] dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 08/02/2010, 22h04
  5. récupérer un flux vidéo sous openCv
    Par jad777 dans le forum Visual C++
    Réponses: 0
    Dernier message: 05/09/2008, 14h46

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