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

MATLAB Discussion :

image et coordonnées


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut image et coordonnées
    Bonjour,

    j'ai une photo, disons d'un papier millimétré avec le dessin, gradué, des axes X et Y. X va de 0 à 10, y aussi.

    Quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Im = imread('maphoto.tif') ;
    image([0 10], [0 10], Im)
    c'est joli (l'image est à l'endroit ).
    Mais les coordonnées Y ne sont pas celles du papier vu que le y=1 de l'image est le pixel du haut (Y=10 sur le papier).

    Si je fais au contraire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Im = imread('maphoto.tif') ;
    image([0 10], [10 0], Im)
    Les coordonnées sont venues à l'endroit exact, mais l'image n'est plus bonne : c'est le mirroir !

    Je veux que les coordonnées soient les mêmes que dessinées sur le papier, et évidemment, que l'image soit vue à l'endroit.
    J'ai vidé un tube d'aspirine sur ce problème et là, je rentre chez moi vraiment écœuré : Pourquoi le monde (de Matlab) est-il si méchant ?

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Tu n'as qu'a inverser les lignes, faire un effet de miroir vertical.

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    >> Im = imread('peppers.png') ;
    >> Im(:,:) = Im(end:-1:1,:);
    >> image([0 10], [10 0], Im)

  3. #3
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    J'avais déja essayé ça et...
    Ca marche pas !
    inverser les lignes en dur dans le fichier ou inverser les lignes par la commande image comme j'ai montré dans mon bout de code ont exactement le même effet de provoquer un mirroir. Si tu fais les deux en même temps, ça te fait faire deux mirroirs l'un après l'autre donc... c'est comme si tu n'avais rien fait.

  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 309
    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 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X = imread('peppers.png') ;
     
    figure
    image(X(end:-1:1,:,:));
    axis image xy

  5. #5
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dut Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X = imread('peppers.png') ;
     
    figure
    image(X(end:-1:1,:,:));
    axis image xy
    Ah !
    je savais que tu allais encore m'énerver avec tes solutions en une ligne
    merki merki !

  6. #6
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Im = imread('peppers.png') ;
    image([0 10], [0 10], Im)
     
    xt = get(gca,'ytick');
    set(gca,'yticklabel',num2str(xt.'))
    Tu voulais que l'axe Y varie entre 0 et 10, n'est-ce pas ?

+ 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. Réponses: 4
    Dernier message: 01/05/2011, 07h28
  3. Drag and Drop sur une image avec coordonnées générées
    Par psgman113 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 28/04/2009, 21h58
  4. image en coordonnées log-plaire
    Par abdidou dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 04/07/2007, 09h15
  5. Réponses: 13
    Dernier message: 19/11/2004, 18h11

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