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 :

Recuperer une valeur dans une grille sur une image


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Points : 34
    Points
    34
    Par défaut Recuperer une valeur dans une grille sur une image
    Bonjour,

    J'ai réussit à créer une grille que je superpose sur une image.



    En gros j'ai créé cette grille à partir d'un fichier de spectroscopie (.rda), et je l'ai collé sur une image dicom.

    Maintenant je voudrais pouvoir cliquer dans les cellules de la grille pour faire divers traitement.

    Par exemple si je clique dans la case en haut à gauche, je voudrais que je sache que j'ai cliqué dans cette case (la case 1,1) et faire la moyenne de tous les pixels de cette case.

    Bon la moyenne n'est pas le soucis ^^, c'est juste savoir que je clique dans une case.

    J'ai commencé à utiliser waitforbuttonpress, et j'arrive à récuperer les coordonnées où je clique.

    Je suppose que je dois créer une structure, matrice, pour stocker ma grille mais je ne vois pas vraiment comment.

    J'ai vu aussi la fonction meshgrid, pourrait elle m'être utile? Auriez vous des idées?

    En vous remerciant.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    comment as-tu "collé" ta grille sur l'image?

    Si tu connais :
    • les dimensions de ta grille
    • les dimensions des cases de ta grille
    • la position de la grille dans l'image


    ça ne devrait pas être compliqué de savoir dans quel case tu cliques, non?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Points : 34
    Points
    34
    Par défaut
    En fait pour la "coller", j'ai des vecteurs colonnes et lignes, avec un repère. ET j'ai le nombre de colones et de lignes plus la taille des cellules.

    Du coup j'ai eut une idée qui est de récuperer les centres de chaques cases.
    En gros je pense récuperer ceux sur l'axe des x ce qui fera un vecteur de 16 valeurs et ceux de l'axe des y encore un vecteur de 16 valeurs.

    Déjà ça devrait me permettre de savoir où je me trouve lorsque je clique. Je cherche de quelle coordonée en x je suis le plus près ensuite celle en y et normalement je devrait savoir dans quelle case je suis.

    Une fois que j'ai la case et son centre je devrai pouvoir récuperer tous les pixels présents.

    Ca semble pas très optimal ni le plus rapide par contre ^^.

  4. #4
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Bonsoir, en continuant dans la même idée que magelan, on peut par exemple calculer les indices de la cellule où le clique (x,y) est fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    I= floor((x-x0)/xdim);
    J=floor((y-y0)/ydim);  
    %division entière
    %où 
    %x0,y0 représente la position de la grille soit les coordonnées du coin supérieur gauche de la grille.
    % xdim et ydim : dimension de chaque cellule dans la grille (en supposant qu'elle est régulière)
    Ensuite on récupére l'ensemble des pixels de la cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Xdebut = x0+(I*xdim);
    Xfin=xdebut+xdim;
    Ydebut=y0+(J*ydim);
    Yfin = ydebut+ydim;
    CelluleIJ=img(xdebut:xfin,ydebut:yfin);
    Je pense qu'il vaudrait mieux travailler sur l'image originale (sans la grille), pour ne pas fausser vos calculs (à cause des lignes et colonnes de la grille incrustées dans l'image).

    J'espère que ces quelques informations pourront vous aider.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/11/2014, 17h46
  2. recuperer la valeur d'un DBEdit d'une form dans une autre form
    Par Abou Zar dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/06/2010, 08h33
  3. Réponses: 13
    Dernier message: 31/01/2010, 10h58
  4. [XL-2000] Remplir une valeur dans cellule à partir d'une valeur precise d'un fichier texte
    Par cactus666 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 10h31
  5. Réponses: 1
    Dernier message: 17/04/2009, 15h44

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