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

Traitement d'images Discussion :

transformer une représentation surfacique ou volumique en image 3D


Sujet :

Traitement d'images

  1. #1
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut transformer une représentation surfacique ou volumique en image 3D
    Salut,

    J'ai une représentation surfacique 3D (.stl) ou volumique (.vtk) que je voudrais transformer en image 3D afin de la binariser et tout mon problème est là!! je ne connais aucune méthode qui permet de faire la transformation

    Avez-vous une idée ?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Points : 112
    Points
    112
    Par défaut
    bonjour,

    j'ai du faire ca une fois et voici comment j'avais fait :

    1ère question a laquelle il te faut répondre : dans quel référentiel sont les sommets de ton maillage ? Monde discret (coordonnées entières >=0 uniquement) ou monde continu (coordonnées en flottant).

    Si tu es dans le 2eme cas, il te faut determiner le facteur de conversion qui te permet de passer du monde continu au monde discret ainsi que l'offset de ton maillage.

    Suite a ca, tu determines la taille de ton image 3D

    Puis voici ce que j'avais fait :
    1) pour chaque triangle, obtenir les coordonnées des sommets dans le monde discret.

    2) choisir 2 sommets et determiner le segment (S1) de Bresenham entre eux.
    boucle : pour chaque voxel du segment S1,calculer le segment (S2) de Bresenham entre le voxel courant et le 3eme sommet du triangle
    boucle: pour chaque voxel du segment S2, mettre a 1 dans l'image 3D.

    Pour moi ca marchait bien

    V

  3. #3
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Salut!!

    Merci vdaanen je vais essayer d'appliquer ce que tu viens de me donner, mais avant peux tu s'il te plait m'éclaircir les points suivants:

    Si tu es dans le 2eme cas, il te faut determiner le facteur de conversion qui te permet de passer du monde continu au monde discret ainsi que l'offset de ton maillage.

    Suite a ca, tu determines la taille de ton image 3D
    a+

  4. #4
    Membre régulier
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Points : 112
    Points
    112
    Par défaut
    Slt,

    si les coordonnées des sommets de triangles sont en mm, tu peux avoir des coordonnées <0 (par ex un point (1.25,-96.22551,-125,12).

    Pour une image 3D, on parle en coordonnées entieres et > 0 (les voxels) donc il te faut donc trouver le moyen de transformer le point donné au dessus en coordonnées voxel donc coordonnées entieres et > 0.

    Regarde tes coordonnées car si elles sont toutes entieres et >0, il n'est pas necessaire de t'embeter ...

    V

  5. #5
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,

    Merci pour ta réponse

    si les coordonnées des sommets de triangles sont en mm, tu peux avoir des coordonnées <0 (par ex un point (1.25,-96.22551,-125,12).

    Pour une image 3D, on parle en coordonnées entieres et > 0 (les voxels) donc il te faut donc trouver le moyen de transformer le point donné au dessus en coordonnées voxel donc coordonnées entieres et > 0.

    Regarde tes coordonnées car si elles sont toutes entieres et >0, il n'est pas necessaire de t'embeter ...
    Je viens de vérifier, mes coordonnées sont réelles et >0, pour les rendre entières je les ai arrondies.

    Mais maintenant j'ai un autre souci, je ne comprends pas très bien ton algorithme:
    2) choisir 2 sommets et determiner le segment (S1) de Bresenham entre eux.
    boucle : pour chaque voxel du segment S1,calculer le segment (S2) de Bresenham entre le voxel courant et le 3eme sommet du triangle
    boucle: pour chaque voxel du segment S2, mettre a 1 dans l'image 3D.
    peux tu le détailler un petit peu ? et les normales de chaque triangles on ne les utilise pas?

    Merci d'avance

  6. #6
    Membre régulier
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Points : 112
    Points
    112
    Par défaut
    Slt,
    Citation Envoyé par Lost in Voir le message
    peux tu le détailler un petit peu ?
    Difficile de détailer plus, c'est deja un pseudo algo .. En pseudo code, ca donne ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Pour chaque triangle
       Calculer le segment de Bresenham entre sommet  et sommet 2 -> ca te donne une liste de points qui relie le sommet 1 au sommet 2, on appele cete liste S1
       Pour chaque point de S1,
          calculer le segment de Bresenham entre le point courant de S1 et le 3eme sommet -> liste de point S2
           Pour chaque point de la liste S2
              marquer dans ton image 3D comme appartenant a la surface
           Fin pour
       Fin Pour
     
    fin pour
    Citation Envoyé par Lost in Voir le message
    et les normales de chaque triangles on ne les utilise pas?
    Non pas de t algo. Les normales, c'est surtout pour la visu (calcul de la lumiere)

    V

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Points : 49
    Points
    49
    Par défaut
    Si tu peux convertir ton objet en format .off, alors je te conseille QVox, qui peux te le convertir directement en image volumique :

    http://qvox.sourceforge.net/

    C'est un viewer (et plus) spécialisé pour les images 3D volumiques.

    Cécile.

  8. #8
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Merci à vous !!

    vdaanen la méthode que tu m'as proposée est parfaite merci beaucoup !!

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

Discussions similaires

  1. transformer une chaine de caracteres en image
    Par jsunnyduckk dans le forum 2D
    Réponses: 7
    Dernier message: 16/02/2007, 14h51
  2. Transformer une image
    Par blaise4714 dans le forum Images
    Réponses: 3
    Dernier message: 27/11/2006, 14h30
  3. Réponses: 1
    Dernier message: 09/10/2006, 17h04
  4. Transformer une matrice à une image
    Par stiko83 dans le forum C++
    Réponses: 24
    Dernier message: 01/08/2006, 23h11
  5. [java - SQL] transformer une Image en BLOB ?
    Par pierre.zelb dans le forum JDBC
    Réponses: 3
    Dernier message: 04/07/2005, 15h04

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