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

Qt Discussion :

Technique d'affichage video


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par défaut Technique d'affichage video
    Bonjour à tous,

    Je suis en train de développer une application dont le but est de récupérer des images de camera video et de les afficher. Pour cela, j'ai N threads d'acquisition dans lesquelles je récupère les images des cameras. La vitesse est ~140fps pour des images de taille 320x240.

    Je travaille sous windows XP SP3 et QT4.5.2

    J'ai cherché quelles solutions pouvaient être utilisées dans ce cas et apparement plusieurs solutions existent parmi lesquelles

    1. Utiliser un QPixmap
    2. Utiliser un GLWidget
    3. Utliser directement l'API win32


    Selon, quelle est serait meilleure stratégie en terme de vitesse et d'économie de resssource au niveau CPU pour une telle tâche?

    Merci d'avance pour vos réponses!

    Frantz

  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
    Pour info quand tu dis que tu recuperes des images c'est un tableau de pixel ou une image compressé que tu donne la camera ?
    Tes image c'est du noir et blanc ou de la couleur ?
    Pourquoi utilises tu plusieurs thread si tu as qu'un camera ?
    Pour la rendu le plus performant je ne sait pas trop. Si tu as tout fait avec Qt je pense qu'il serait preferable de continuer avec. Je pense que cela devrait vraiment tenir le coup voir peut etre aussi la classe QImage si elle peut t'aider.
    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
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut,
    Tu veut jouer les images à 140fps??? ou moins vite?

    SI tu peut passer à Qt 4.6, y as des classe plus adapté :
    http://qt.developpez.com/doc/4.6-snapshot/qtmultimedia/

    Sous Qt 4.5, je dirai que la sdl pourrai être une solution plus adapté. Tous dépend la vitesse d'affichage que tu veut.

  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
    Citation Envoyé par yan Voir le message
    Salut,
    Tu veut jouer les images à 140fps??? ou moins vite?

    SI tu peut passer à Qt 4.6, y as des classe plus adapté :
    http://qt.developpez.com/doc/4.6-snapshot/qtmultimedia/

    Sous Qt 4.5, je dirai que la sdl pourrai être une solution plus adapté. Tous dépend la vitesse d'affichage que tu veut.
    Moi je vois pas trop l'interet d'afficher des images à 140 fps. Par contre s'il veut faire de l'acquisition cela est bien sur tres utile. Et donc je ferai un decimation pour resoudre le problème de l'affichage a 140 fps.
    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.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par superjaja Voir le message
    Moi je vois pas trop l'interet d'afficher des images à 140 fps. Par contre s'il veut faire de l'acquisition cela est bien sur tres utile. Et donc je ferai un decimation pour resoudre le problème de l'affichage a 140 fps.
    d'où ma question

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par défaut
    En fait sur mon PC de processing il y a N camera connectées (d'où les N threads d'acquisition). N devrait en tous cas être <= 5. Les images sont monochrome sous forme d'un tableau de pixels (non compressées).

    Normalement, le mode de fonctionnement des cameras est à 140fps mais je n'ai pas réellement besoin de tenir ces cadences pour l'affichage. Évidemment le plus haut fps est le mieux mais je peux skipper des frames si besoin (en tous cas pour l'affichage)...

    Pour l'instant on ne prévoit pas vraiment de migrer vers Qt4.6. J'avais également regardé brièvement la solution SDL mais je me demandais il existait une solution "native" sans rajouter la SDL.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par trop_wizz Voir le message
    Pour l'instant on ne prévoit pas vraiment de migrer vers Qt4.6. J'avais également regardé brièvement la solution SDL mais je me demandais il existait une solution "native" sans rajouter la SDL.
    Dans ce cas QPixmap pourrais suffire. Faut tester.
    Sinon, tu peut passer par un QGlWidget en affichant des texture.
    Y as des classe qui permette de tranformer une QIMage en texture gl.

  8. #8
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par yan Voir le message
    Y as des classe qui permette de tranformer une QIMage en texture gl.
    Des classes fournies directement dans le framework Qt ou des classes faitent par des developpeusr sur le net ?
    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.

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par superjaja Voir le message
    Des classes fournies directement dans le framework Qt ou des classes faitent par des developpeusr sur le net ?
    celle là
    http://qt.developpez.com/doc/4.5/qglpixelbuffer/

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par défaut
    Merci beaucoup pour les infos!

    Je vais essayer les deux techniques pour voir laquelle fit le mieux mon application.

    Par contre, en fouinant un peu, j'ai lu quelque part que la fonction QPixmap::loadfromdata() pouvait se réveler assez lente. Si c'est le cas, y-a-t-il un moyen de faire directement un memcpy() de mon buffer image dans la structure interne d'un QPixmap?

    ++

    F.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par défaut
    j'ai lu quelque part que la fonction QPixmap::loadfromdata() pouvait se réveler assez lente.
    http://lists.trolltech.com/qt-intere...ad00446-0.html
    http://lists.trolltech.com/qt-intere...ad00276-0.html

    Pour moi, le processing qui m'intéresse étant fait avant dans mon code, j'aurais plutôt intérêt à utiliser directement un QPixmap juste pour l'affichage... Pourtant, il semble que QPixmap::loadFromData() utilise QImage... je suis un peu perdu pour la bonne marche à suivre

    +

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    je pense que la manière de procéder qui offrirait le meilleur framerate est d'utiliser la lib OpenCV qui dispose déja de fonctions optimisées pour l'affichage de flux vidéo.

    Il y a déjà eu plusieurs sujets pour l'intégration du flux dans une interface Qt

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par atomicJo Voir le message
    je pense que la manière de procéder qui offrirait le meilleur framerate est d'utiliser la lib OpenCV qui dispose déja de fonctions optimisées pour l'affichage de flux vidéo.

    Il y a déjà eu plusieurs sujets pour l'intégration du flux dans une interface Qt
    Utiliser OpenCV juste pour afficher une flux, ca me parrait abusif, non?
    Dans ce cas, je trouve c'est un peut utiliser une usine à gaz pour faire un clou..

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    un clou ça dépend de l'application, si le framerate est un point critique autant employer les meilleurs moyens

    et puis cela implique seulement l'utilisation de la dll highgui d'OpenCV

  15. #15
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Je comprends pas bien tu as pas un SDK avec tes cameras pour recuperer le flux video ?

    Apres quand tu dis que les FPS est important je ne pense pas que ce soit pour l'affichage car l'oeil que se soit 30 ou 140 fps il ne verra pas une grande difference... Si tu veux enrregistrer les flux video sur ton HDD et avoir quand meme une visualisation des differente image je te conseil juste une decimation Apres a toi de voir.
    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. Installation --> probleme d'affichage video
    Par dr_octopus74 dans le forum Matériel
    Réponses: 16
    Dernier message: 06/04/2007, 10h32
  2. Affichage video à partir d'un flux d'images
    Par enenkey dans le forum DirectX
    Réponses: 8
    Dernier message: 15/12/2006, 00h23
  3. Affichage video flash sur mon site
    Par sccool dans le forum Dreamweaver
    Réponses: 10
    Dernier message: 22/11/2006, 18h00
  4. Réponses: 8
    Dernier message: 18/07/2006, 16h14
  5. [Configuration] affichage video erreur script
    Par zorrax dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 26/02/2006, 15h35

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