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 averti
    Inscrit en
    Janvier 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    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 315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, C�te d'Or (Bourgogne)

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

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par d�faut
    Re�ois-tu les images � intervalle r�gulier?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    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 315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, C�te d'Or (Bourgogne)

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

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 2 315
    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 315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, C�te d'Or (Bourgogne)

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

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 2 315
    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 averti
    Inscrit en
    Janvier 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par d�faut
    Merci gerald je vais voir sa

  7. #7
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    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 averti
    Inscrit en
    Janvier 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    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