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

Images Discussion :

format video et sa conversion en images --> différents ?


Sujet :

Images

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut format video et sa conversion en images --> différents ?
    Bonjour à tous,

    Je cherche à convertir une vidéo (.avi) en série d'image.
    Cela marche à la nuance près que j'ai l'air d'obtenir en images environ seulement la motié de la largeur de ma vidéo. Pourtant vidéo 32 par 32 et image aussi. Y aurait-il une proprièté de la vidéo qui pourrait m'échapper?
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    % Lecture de la vidéo
    [ref_file,ref_path,schalt] = uigetfile('*.avi','VIDEO FILE');
    MyVideo=aviread(ref_file);
    % conversion vidéo --> série d'image
    for i=1:length(MyVideo)
        imwrite(MyVideo(i).cdata,[num2str(i) '.jpeg'])
    end
    Merci de votre aide,

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Quelques modifications à ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    % Lecture de la vidéo
    [ref_file,ref_path,schalt] = uigetfile('*.avi','VIDEO FILE');
     
    MyVideo = aviread(fullfile(ref_path,ref_file));
     
    % conversion vidéo --> série d'image
    for i = 1:numel(MyVideo)
        imwrite(MyVideo(i).cdata,[num2str(i) '.jpeg'],'jpg')
    end
    Sinon peux-tu déjà nous montrer ce que renvoit la fonction AVIINFO sur un de tes fichiers ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    Salut Dut,

    J'ai mis ton code mais pas de différence.
    J'avais regardé les infos du fichier et voici ce que cela donne via le fileinfo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    fileinfo = 
     
                  Filename: 'FC1.avi'
                  FileSize: 166564
               FileModDate: '16-Feb-2010 08:48:29'
                 NumFrames: 2248
           FramesPerSecond: 25
                     Width: 32
                    Height: 32
                 ImageType: 'truecolor'
          VideoCompression: 'MP43'
                   Quality: 100
        NumColormapEntries: 0

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Quelle est ta version de MATLAB ?
    Sur quel système d'exploitation travailles-tu ?

    As-tu essayé avec MMREADER à la place de AVIREAD ?

    Et pourrais-tu attacher un de tes fichiers avi (dans une archive zip ou rar) ?
    Si le contenu n'est pas confidentiel bien entendu

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    MATLAB Version 7.0.4.365 (R14) Service Pack 2
    Système d'exploitation: Windows 2000 Pro

    J'avais essayé la fonction "mmreader" mais sans succès ... je pense que ma version MATLAB ne la gère pas.

    Voici une vidéo et une image
    Ce que l'on peut voir c'est que l'image semble 2 fois plus large que haute malgré une résolution 32 x 32 ... la 1ere image obtenue est de résolution 32 par 32, mais correspond à la motié de la largeur de la vidéo.
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Je ne peux pas utiliser AVIREAD sous Linux avec des AVI compressés.

    Par contre, aucun problème en utilisant cette contribution du FEX : http://www.mathworks.com/matlabcentr...ge/8028-mmread

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    % Lecture de la vidéo
    [ref_file,ref_path,schalt] = uigetfile('*.avi','VIDEO FILE');
     
    MyVideo = mmread(fullfile(ref_path,ref_file));
     
    % conversion vidéo --> série d'image
    for i = 1:numel(MyVideo)
        imwrite(MyVideo.frames(i).cdata,[num2str(i,'%04d') '.jpeg'],'jpg')
    end
    Il suffit de télécharger et décompresser le zip dans un dossier puis d'utiliser ADDPATH pour ajouter le chemin de ce dossier dans la liste des chemin d'accès de MATLAB. Tu peux ensuite utiliser MMREAD depuis n'importe quel répertoire.

    Sinon, par curiosité, ça représente quoi ce petit film ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    C'est une sorte de tetard à la tete carré ;-)
    Pour ne pas trop rentrer dans le détail on dira qu'il s'agit d'une sorte de fil soumis aux aléas du vent.
    Je viens de tester ta méthode concernant le mmread et aller chercher la fonction via un addpath mais j'ai droit à une insulte du genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ??? Undefined command/function 'FFGrab'.
     
    Error in ==> Document at 13
    MyVideo = mmread(fullfile(ref_path,ref_file));

    Pourtant j'ai bien téléchargé l'ensemble du dossier dans lequel j'ai plusieurs fichier FFGrab aux extensions diverses et variées, et dont je ne connaissais pas encore l'existence jusqu'à aujourd'hui ;-)

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par Nico81 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ??? Undefined command/function 'FFGrab'.
     
    Error in ==> Document at 13
    MyVideo = mmread(fullfile(ref_path,ref_file));
    Renomme simplement le fichier FFGrab.mexw32 en FFGrab.dll

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    Magique ... ça marche ... c'était donc une histoire de compression de la vidéo???

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Une autre solution aurait été de modifier le codec de compression video (ici MP43) dès l'enregistrement du fichier (si possible bien entendu)

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2006, 13h59
  2. conversion d'image jpeg en tableau de pixel
    Par sophie86 dans le forum Multimédia
    Réponses: 7
    Dernier message: 09/11/2005, 11h30
  3. format video et image
    Par gerardTar dans le forum C++Builder
    Réponses: 5
    Dernier message: 06/09/2005, 10h16
  4. Conversion d'images 24/32 Bits -> 16bits
    Par RVP dans le forum Langage
    Réponses: 4
    Dernier message: 30/05/2004, 17h05
  5. Conversion avi->image
    Par lio_on_jb_groove dans le forum DirectX
    Réponses: 1
    Dernier message: 17/07/2003, 10h11

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