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

GTK+ avec C & C++ Discussion :

Problème avec opencv et gtk


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Problème avec opencv et gtk
    Bonjour,


    Je suis actuellement entrain de faire une interface gtk en language C dans lequel je fais un streaming de ma webcam. Pour ce qui est de convertir les images opencv en images gtk il n'y a pas de souci.

    Le problème qui ce pose c'est que je ne sais pas ou placer ma boucle de rafraichissement pour avoir un bon rendu vidéo.

    En effet, j'ai ramé est j'en suis arrivé à 2 conclusion:
    1er :

    Je fais un "g_signal_connect(G_OBJECT(drawing_area),"expose-event",(GCallback)webCam , NULL);", puis à l'intérieure de ma fonction j'utilise "gtk_widget_queue_draw(widget);" pour rafraichir ma fenêtre mais la le rafraichissement est trop lent (donc mon stream est moche), et comme je gère aussi mes événements clavier lorsque j’appuie sur une touche cela réinitialise mon programme "bizare".

    2eme :

    Je créer une boucle infini (la boucle basic d'affichage pour opencv avec les convertions ) avant le "gtk_main();" de fin, la j'ai un excellent rendu vidéo, mais je ne peut pas du tout géré mes events clavier, et l'affichage des buttons ne ce fais pas.


    Donc voila où j'en suis aujourd'hui si quelqu'un pouvait m'aider que puisse avoir un bon rendu vidéo avec la gestion du clavier sa serait cool.


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

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Reçois-tu les images à intervalle régulier?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    c'est à dire ? car si j'arrive a faire du stream avec opencv je doit forcément les recevoir comme opencv affiche image par image.

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Voila mon idée. Tu peux utiliser g_timeout_add(); pour insérer une fonction dans la boucle principale de Gtk+. Elle sera appelée à temps plus ou moins constant. Donc si opencv envoie une image tous 1/10s par exemple tu peux demander que la fonction soit exécutée tous les 1/10s.

    Une autre manière de faire est d'utiliser les GIOChannels. Mais je ne sais pas comment tu communiques avec opencv.

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Je viens de regarder opencv. Donc si tu es sous linux tu utilises la librairie libcv-dev.

    Tu peux donc lire les informations au moment où tu le désires.

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Merci gerald je vais voir sa

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Je viens de testé, sa me donne un résultat presque identique que lorsque j'utilise "gtk_widget_queue_draw".

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    C'est bon je viens de trouver la solution! J'utilisais mal ma fonction où je me servais de "gtk_widget_queue_draw". En faite je créais tout le temps un CvCapture et le détruisais a chaque fois que ma fonction était rappelé donc forcément du coup sa consommais énormément de temps

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/07/2013, 09h32
  2. Probleme avec opencv et gtk
    Par nogard dans le forum Windows
    Réponses: 0
    Dernier message: 05/06/2011, 19h51
  3. Problèmes avec opencv et cvblobslib
    Par Gus76 dans le forum C
    Réponses: 0
    Dernier message: 22/04/2010, 17h47
  4. [Code::Blocks/Windows]Problème avec les thèmes GTK+
    Par 3alaovic dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 16/09/2009, 20h02
  5. Faire une photo avec OpenCV et GTK
    Par ninours23 dans le forum OpenCV
    Réponses: 24
    Dernier message: 06/02/2008, 15h46

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