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

Interfaces Graphiques Discussion :

Code source de la fonction Implay?


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut Code source de la fonction Implay?
    Bonjour,
    Je développe une interface graphique dans laquelle j'ai besoin de jouer des vidéos. La fonction Matlab 'implay' est exactement ce dont j'ai besoin. Mon soucis est que j'aimerais:
    * retirer les 2première lignes de la figure...
    * récupérer la valeur courante de la frame en cours: en bas à droite de la figure on a le n° de la frame sur le nombre total de frames... Mais j'ai besoin de ce n°. Comment puis-je faire pour le récupérer depuis Matlab?
    Merci beaucoup.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut
    Sinon j'ai trouvé aussi une toolbox mmplayer qui pourrait m'être très utile mais il s'agit en fait d'une classdef... Je n'ai jamais utilisé ca auparavant... Est-ce que quelqu'un pourrait m'expliquer un peu comment ca marche? C'est une sorte d'objet avec des methodes associées à l'objet?

    Du coup je ne peux pas interagir avec la variable globale de mon interface si?

    Du style, je voudrais qu'à chaque fois qu'un menu de mmplayer a été utilisé j'appelle une fonction qui modifie ma variable globale?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Bonjour,

    Avez-vous vu cette discussion qui propose d'utiliser imshow plutôt que implay. Vous aurez ainsi accès à tout puisque l'utilisation de imshow doit ête dans une boucle...

    Cordialement,
    Christophe Halgand

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut
    En fait je voudrais vraiment utiliser cette fonction Matlab mmplayer qui est beaucoup plus fluide pour le display de la video... Mais j'ai un soucis pour afficher l'image correspondant à un nombre que je rentre dans un editbox... Il me dit que le nombre (10) dépasse la taille de la matrice alors que j'ai plus de 8000images dans ma video...:-(

    Est-ce que quelqu'un a deja essayé cette fonction?

    Voici le code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function testPlayer
    global GUI
    GUI.fig = figure;
    GUI.h = uicontrol('parent',GUI.fig,'style','edit','visible','on','enable','on','callback',@goto);
     
    GUI.vidObj = VideoReader('D:\Matlab scripts\GeFACT\WORKING DIRECTORY\Input\Action Units susanne.avi');
    GUI.player = mmplayer(GUI.vidObj);
    addlistener(GUI.player,'paused',@updateInterface);
    addlistener(GUI.player,'stopped',@updateInterface);
     
    function updateInterface(src,event)
    global GUI
    disp(GUI.player.currentFrameIndex)
    set(GUI.h,'string', num2str(GUI.player.currentFrameIndex));
    drawnow
     
    function goto(src,event)
    global GUI
    val = str2double(get(GUI.h,'string'))
    disp(num2str(val))
    disp(num2str(GUI.player.currentFrameIndex))
    disp(num2str(GUI.player.numberOfFrames))
    GUI.player.currentFrameIndex(val);
    Mais déjà il m'affiche parfois la frame +1 quand je fais paused et en plus je n'arrive pas à faire un set de mon nombre entré dans l'edit box... une idée?

    Vous pouvez télécharger la fonction ici:
    http://www.mathworks.com/matlabcentr...ent/mmplayer.m

    Merci.

Discussions similaires

  1. code source d'une fonction prédéfinie
    Par bambitous dans le forum C
    Réponses: 8
    Dernier message: 27/10/2012, 15h43
  2. Réponses: 0
    Dernier message: 30/03/2012, 17h26
  3. code source d'une fonction
    Par kchiheb dans le forum MATLAB
    Réponses: 0
    Dernier message: 17/09/2008, 23h38
  4. [EXIF] code source de la fonction exif_read_data.
    Par bouha_1 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/10/2007, 14h31

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