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 :

Déformation d'image : cartésien -> polaire


Sujet :

Images

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut Déformation d'image : cartésien -> polaire
    Bonjour, je dispose d'une image rectangulaire que j'aimerai déformer en coordonnées polaires (arc de 45°)
    J'ai récemment programmé une fonction qui travaille sur les pixels de l'image et qui interpole pas à pas en polaire par rapport à la valeur du pixel en cartésien, mais ça prend un temps fou et c'est pas très facile à adapter quand on change de configuration d'image initiale.
    Je pensais ce matin à travailler sur la matrice de mon image initiale (qui est en fait une matrice que je traçais avec imagesc), augmenter la résolution pour pouvoir gérer l'interpolation en polaire et retracer ligne par ligne et colonne par colonne ma matrice, mais ça va prendre un temps fou également.

    Est-ce que qqun a déjà eu à réaliser ce type d'opération ? si oui, qu'a-t-il opté pour solution ?
    N'existe-t-il pas une fonction sur matlab où on donne les équations de la surface d'arrivée et pour laquelle matlab conforme lui même l'image initiale à la nouvelle surface ? j'ai regardé l'aide sur conformal mapping mais ils n'expliquent pas comment définir la surface...

    Merci beaucoup 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 304
    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 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Tu pourrais attacher une image de ce que tu souhaites obtenir ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Voici en gros ce que je voudrai effectuer
    Images attachées Images attachées  

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Voici ce que j'obtiens avec le travail pixel par pixel, mais je préfèrerai une méthode directe sur les matrices
    Images attachées Images attachées  

  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 304
    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 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Tu pourrais nous fournir les données de la dernière images pour pouvoir travailler sur les vraies valeurs ?

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    La matrice quand je l'enregistre en .mat fait 46 mo...
    il n'y a pas une autre solution pour que je vous la transmette ?

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Je vous fourni celle-ci qui contient les même informations que la précédente mais en valeur brute (pas de moyenne donc pas d'étalement comme l'image précédente)
    Si on parvient à déformer celle-ci, on parviendra à déformer celle dont j'ai besoin
    Fichiers attachés Fichiers attachés

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    On garde l'orientation de la matrice (5128 lignes par 13 colonnes), les premières lignes vont se retrouver au sommet de mon triangle etc...

  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 304
    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 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Peut être une idée :

    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
    load matrice
     
    X = MatriceAmplitude_MOYENNE_complet;
     
    figure
     
    subplot(2,1,1)
    imagesc(X);
     
    R = 100;
     
    [theta,r]=meshgrid(linspace(0,pi/4,size(X,2)),linspace(0,R,size(X,1)));
    x = r.*cos(theta);
    y = r.*sin(theta);
     
    [xi,yi] = meshgrid(0:1:sin(pi/4)*R,0:1:R);
     
    Xi = griddata(x,y,X,yi,xi);
     
    subplot(2,1,2)
    imagesc(Xi);
    axis image
    Il faudra peut être modifier l'argument method de la fonction GRIDDATA

    Voici ce que ça donne avec la capture de l'image de ton message précédent :
    Images attachées Images attachées  

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Et ben dites donc ! chapeau bas pour l'efficacité !
    je vais jouer avec les paramètres de manière à obtenir la résolution idéale.
    En tout cas merci beaucoup !

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    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 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Par simple curiosité, ça représente quoi cette image ?

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    La norme du courant marin obtenue par mesure radar.
    J'ai testé d'autres jeux de paramètres, ça donne des qualités vraiment très bonnes, mais dieu que les temps de calculs sont longs...

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

Discussions similaires

  1. représenter l'image en coordonnés polaire
    Par aminoste dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/07/2012, 14h44
  2. Algorithme déformation d'image
    Par ArkAng3 dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 16/10/2010, 16h30
  3. Déformation d'image : cartésien -> polaire
    Par heke6 dans le forum Images
    Réponses: 4
    Dernier message: 07/05/2009, 11h53
  4. algo de déformation d'images
    Par AP dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 10/03/2009, 20h00
  5. Outil graphique de déformation d'images
    Par SpaceFrog dans le forum Imagerie
    Réponses: 2
    Dernier message: 21/01/2007, 18h24

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