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

C Discussion :

Recupération de l'affichage d'un écran en temps réel pour système ambilight


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Recupération de l'affichage d'un écran en temps réel pour système ambilight
    Bonjour à tous !

    J’ai cherché sur plusieurs forums sur le net (y compris ici) et je n’ai malheureusement pas trouvé mon bonheur, peut être pourrez vous m’aider ?

    Voilà est il possible de récupérer les données liées à l’écran c'est-à-dire vidéo et image (plus précisément ce qui m’intéresse ce sont les valeurs RGB que j’aimerai obtenir sur certains endroits de l’écran en cours de lecture) en C (ou C++) ? Existe-t-il des librairies qui font se genre de traitement ?

    Merci par avance pour vos réponses!

    ( et désolé si le post n'est pas au bon endroit)

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    oui mais ça dépend sous quelle machine tu tournes, avec quel système graphique..

    Le C n'a rien de graphique.

    Cependant, si tu es sous unixoide avec X, tu as une bibliothèque X en C qui te permet d'y accéder..

    Pour le reste, je crois qu'il y a la SDL.

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Oui c'est très proche du système.. A ce stade on ne fait plus du C, on fait du X, du OpenGl, du GTK, du DirectX...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour !

    Merci pour vos réponses !

    J’ai trouvé deux trois petites choses à partir de ce que vous avez dit, et j’avoue ne pas tout comprendre.
    En fait la programmation se fait de préférence en C, d’où mon post ici, et le programme doit marcher de préférence sous Windows (mais si ca peut marcher sous un autre OS je suis preneur aussi )

    -Je sais qu’avec SDL il est possible de lire des vidéos mpeg (les autres formats sont plus difficiles à prendre en charge il me semble).

    -OpenGL semble mieux que DirectX (j’ai vu qu’openGL fonctionnait sur plusieurs OS…c’est bien ca ?)

    -Quant à GTK je croyais que c’était surtout pour faire des interfaces graphiques non ?

    -En fait je ne cherche pas à faire de rendu, mais à récupérer des infos des valeurs RGB des zones de l’écran. J’ai repérer 2 fonctions d’openGL qui pourrait coller mais les infos que j’ai trouvé restent assez vagues glreadbuffer et glreadpixel…est il possible d’aller récupérer en mémoire des données vidéos avec ces fonctions ? Pouvez me dire si des fonctions d’openGL ou autre me permettrait de faire cela ? Après des heures de recherche, je commence à désespérer…

    Merci pour vos réponses !

    Ps : j’ai pas mal surfé avant de poser la question, mais si vous avez un lien utile n’hésitez pas a le donner.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    je crois surtout qu'il y a une chose de fond que tu ne comprends pas :

    TOUT ce qui est graphique (Interfaces ou autres (afficheurs MPEG, browsers HTLM (IE, Firefox, etc)) est atteignable par des biblothèques spécialisées en GRAPHIQUE... (cela dépend des standards, des cartes vidéo, des constructeurs, ..etc etc).

    Les langages de programmation, en général, sevent à créer des programmes (comme ceux générés avec C)l, qui exécutent des algorithmes, du calcul, etc.. et n'ont rien à faire avec du graphisme.


    OpenGL est, comme X, comme la Windows API, une interface graphique de bas niveau - plus ou moins standardisée - pour accèder de manière programmatique aux fonctionalités visuelles principales d'un écran (allumer / éteindre un pixel, changer sa couleur, aller chercher sa valeur, etc..). Eventuellement cela peut comprendre des fonctionalités plus évoluées (tracer des lignes, des cercles, du texte, des fenêtres, des bordures aux fenêtres, etc..).

    GTK, comme une partie de OpenGL, certaines surcouches de X, certaines surcouches de Windows API (comme Delphi ou VB par exemple) des "définisseurs" d'objets graphiques tout fait (les "widgets"), avec plus ou moins un certain environnement de développement associé.

    Pour les machines issues de M$, l'accès est simultanément relativement restreint (obligé de passer par la Windows API), et relativement ouvert (à cause de cette restriction, bon nombre d'outils ont "définis" des accès plus aisés (comme SDL, GTK, etc).

    Pour les machines tournant principalement sous unixoides, en gros le marché est partagé entre X et OpenGL.

    DirectX est un package spécialisé multimédia pour Windows.

    Si maintenant ton souci est d'être relativement temps réel pour du MPEG, il te faudra descendre quasi au plus bas niveau (pour Windows la Win API, pour le reste soit directement OpenGL ou X)...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour!

    Merci pour cette mise à niveau effectivement ce n'était pas clair (et désolé du temps de réponse).

    Je pense que je vais plus partir sur l'idée de faire de la capture vidéo en temps réel en utilisant openCV et faire le traitement avec gtk: capturer une frame, l'exploiter, recapturer une frame, re-exploiter,etc,...

    Je vous tiendrait au courant, et merci encore pour vos conseils

Discussions similaires

  1. Affichage d'une variable en "temps réel"
    Par Thund dans le forum Débuter
    Réponses: 9
    Dernier message: 18/11/2013, 12h06
  2. Capture d'écran en «temps réel»
    Par silverlight dans le forum C#
    Réponses: 3
    Dernier message: 27/06/2012, 18h35
  3. Affichage de l'heure en temps réel dans une interface
    Par T-MAT dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 26/12/2008, 19h08
  4. affichage son et suivis en temps réel
    Par pelotudo dans le forum MATLAB
    Réponses: 0
    Dernier message: 08/10/2008, 12h56
  5. Affichage de la date en temps réel
    Par Jiyuu dans le forum Tkinter
    Réponses: 5
    Dernier message: 15/04/2008, 19h14

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