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 :

Création d'une image 3D qui contient une sphère (Niveaux gris)


Sujet :

Images

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Création d'une image 3D qui contient une sphère (Niveaux gris)
    Bonjour à tous,
    Je cherche une méthode simple afin de construire une image 3D (grey scale) qui contient une sphère ?
    la fonction sphere me donne des X, Y, Z mais sous forme matrice 2D pour chacun ! comment je fais pour obtenir les coordonnées en pixels x, y, z ?

    Merci beaucoup en 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
    Qu'entends-tu par "image 3D" ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 9
    Points
    9
    Par défaut image 3D
    L'image 3D est tout simplement une matrice 3D ceci est une reconstruction 3D d une série d'images consecutives, pour simplifier les chose je suppose une matrice de 30*30*30.

  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 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
    En 2D (plus simple pour comprendre) :

    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
    23
    24
     
    % Diamètre du disque et taille de la matrice
    d=30;
     
    % Création de la matrice 2D remplie de 0
    X=zeros(d);
     
    % Tous les couples de coordonnées des pixels de X
    [col,lig]=meshgrid(1:d); 
     
    % Translation du centre de la matrice en (0,0)
    col(:)=col(:)-d/2-0.5; 
    lig(:)=lig(:)-d/2-0.5;
     
    % Recherche des indices des pixels contenu dans le disque
    idx=find(sqrt(col(:).^2+lig(:).^2)<=d/2);
     
    % Mise à 1 de la valeur de ces pixels
    X(idx)=1;
     
    % Affichage
    figure
    imagesc(X)
    axis image
    Et en 3D :

    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
    23
    24
    % Diamètre de la sphère et taille de la matrice
    d=30;
     
    % Création de la matrice 3D remplie de 0
    X=zeros(d,d,d);
     
    % Tous les couples de coordonnées des pixels X
    [col,lig,pag]=meshgrid(1:d);
     
    % Translation du centre de la matrice en (0,0,0)
    col(:)=col(:)-d/2-0.5;
    lig(:)=lig(:)-d/2-0.5;
    pag(:)=pag(:)-d/2-0.5;
     
    % Recherche des indices des pixels contenu dans la sphère
    idx=find(sqrt(col(:).^2+lig(:).^2+pag(:).^2)<=d/2);
     
    % Mise à 1 de la valeur de ces pixels
    X(idx)=1;
     
    % Affichage
    figure
    slice(X,[],[],1:3:30)
    axis equal

  5. #5
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    Salut,

    utilise la fonction meshgrid pour generer les coordonnées x, y, et z de chaque pixel,
    puis tu peux calcuelr pour chaque pixel si il appartient ou non a la sphere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [x y z] = meshgrid(1:30, 1:30, 1:30);
    img = (x-15).^2+(y-15).^2+(z-15).^2 < 10^2;
    pour une sphere de rayon 10 centree autoru du pixel (15,15,15).

    A+

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Merci
    Merci beaucoup, après vos réponses je peux bien utiliser le mesh

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/10/2013, 03h09
  2. insérer un petit formulaire sur le panel qui contient une image de fond
    Par amAtunisian dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 08/06/2012, 13h28
  3. Flash CS3: créer un symbole qui contient une image
    Par caema dans le forum EDI/Outils
    Réponses: 0
    Dernier message: 25/02/2012, 20h31
  4. [Image] Servlet qui renvoie une image sur HttpServletResponse
    Par Z4ng3tsu dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 10/09/2009, 14h00
  5. url qui contient une jsp et non pas une action
    Par john_wili dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2009, 12h45

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