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 :

Extraire les trames d'une image


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 37
    Points
    37
    Par défaut Extraire les trames d'une image
    Bonjour,
    Je cherche s'il y a déjà une fonction matlab ou un code(algorithme) pour extraire les trames paires et impaires d'une image et éventuellement les inverser?
    Merci d'avance!

  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 316
    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 316
    Points : 52 951
    Points
    52 951
    Par défaut
    Tu pourrais nous préciser ce que tu entends par "trame" ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par Dut Voir le message
    Tu pourrais nous préciser ce que tu entends par "trame" ?
    Boh j'aurais du préciser le cadre. Il s'agit d'images extraites à partir d'une vidéo.
    Une image video est constituée de deux trames qui correspondent à deux images entrelacées ayant chacune un décalage temporel de 1/50 secondes... Lorsqu'elle est projetée sur un téléviseur, les deux trames sont affichées successivement, c'est à dire que le téléviseur balaye une première fois l'écran pour afficher la première trame, puis une deuxième fois pour la deuxième trame. Il n'affiche donc pas 25 images par seconde mais plutôt 50 demi images par seconde. Lorsque ce réglage est inversé on observe alors ce scintillement très désagréable puisque les trames ne sont alors plus affichées dans le bon ordre.

  4. #4
    En attente de confirmation mail
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 348
    Points
    348
    Par défaut
    L'image est présentée sous forme d'une matrice 2NxM.
    Je ne me souviens plus de la syntaxe exacte sous matlab, mais il est possible de récupérer une ligne sur deux avec du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mpaire = m(1:2:N;*)
    mimpare = m(2:2:N,*)
    PS : la syntaxe est vraiment à vérifier, je n'utilise plus Matlab depuis (trop) longtemps...

    [EDIT] L'exemple marche dans le cas d'une image en niveau de gris. Dans le cas d'une image couleur, tout dépend la manière dont est stockée l'image :
    3 plans distinct (3x2NxM) ou succession sur un même plan (2Nx3M) présentée sous la forme RGBRGBRGB (ou autre...) [/EDIT]

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    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 316
    Points : 52 951
    Points
    52 951
    Par défaut
    Et comment récupères-tu l'image sous MATLAB ?
    Sous quel format ?
    Dans quel type de variable ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mov=aviread('fichier.avi',1);% pour la premiere image de la vidéo par exemple
    [X,Map]=frame2im(mov); % X est une matrice de taille m*n*3
    imshow(X)% pour la visualisation

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    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 316
    Points : 52 951
    Points
    52 951
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mov = aviread('fichier.avi',1);
     
    X1 = mov.cdata(1:2:end,:);
    X2 = mov.cdata(2:2:end,:);

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Merci pour la réponse
    une autre question
    Est ce qu'il y a une différence entre X=mov.cdata et [X,Map]=frame2im(mov); ?

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    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 316
    Points : 52 951
    Points
    52 951
    Par défaut
    Citation Envoyé par ZAYDOUN Voir le message
    Est ce qu'il y a une différence entre X=mov.cdata et [X,Map]=frame2im(mov); ?
    Normalement non.

    Tu peux le vérifier comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mov = aviread('fichier.avi',1);
     
    X = mov.cdata;
     
    XX = frame2im(mov);
     
    all(X(:)==XX(:))

Discussions similaires

  1. Extraire les données d'une image DICOM avec DCMTK
    Par li_la dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2011, 19h01
  2. Extraire les features d'une image
    Par Pepson dans le forum OpenCV
    Réponses: 2
    Dernier message: 18/08/2009, 10h37
  3. Extraire toutes les régions d'une image
    Par mihaispr dans le forum Téléchargez
    Réponses: 0
    Dernier message: 25/07/2009, 23h51
  4. Extraire les regions d'une image
    Par mihaispr dans le forum Images
    Réponses: 2
    Dernier message: 24/07/2009, 11h44
  5. [RegEx] Extraire les attributs d'une image
    Par Sarkou dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2007, 13h27

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