none
Lecture d'un tableau d'image de type bmp RRS feed

  • Question

  • Bonjour,

    Je suis débutant avec C#.

    j'ai besoind de créer un volume 3D d'images de type "bmp". Ce tableau est formé des coupes successives dont chaque coupe est une image "bmp".

    Jusqu'à présent je suis arrivé à lire une image "bmp" sous C#, mais je ne sais pas comment faire pour créer mon fameux volume.

    S'il vous plaît aider moi.

    Merci infiniment.

    jeudi 10 avril 2008 10:32

Toutes les réponses

  • Bonjour bon je ne suis pas sur de comprendre ta question. Si je ne me trompe tu veux construire une liste d'images qui te permettra après de construire un "volume 3D".

     

    Si c'est ça, il y a pas mal de façon de faire mais tout dépend après la façon dont tu vas les manipuler.

     

    Le plus simple (et parce que j'aime bien les listes génériques):

    Tu crées et initialises uen liste de bitmap:

    List<Bitmap> images = new List<Bitmap>();

     

    Et ensuite tu las remplis. Une façon de faire par exemple serait d'avoir un textbox (texbox1) et un bouton; Chaque fois que tu cliques il rajoutes l'image, dont le chemin est indiqué dans textbox1, dans la liste.

    Code à mettre dans le bouton:

    Bitmap bmp = new Bitmap(textBox1.Text);

    images.Add(bmp);

     

    Voila c'est le plus simple et dépouillé mais tout dépend (encore une fois) de la façon dont tu comptes l'utiliser.

     

     

    jeudi 10 avril 2008 11:25
  • Si c'est pour créé un modèle 3D en sortie (Visuellement), ce serait plus compliqué Smile 

     

    vendredi 11 avril 2008 12:25
    Modérateur
  • Vi je suis assez d'accord  mais vu le nombre d'information j'ai préféré faire au plus simple

     

    vendredi 11 avril 2008 12:38
  • Oui, c'est bien ça, je veut visualiser un volume 3D d'image.

    c'est que j'appel un volume 3D d'image est la succession des coupes. Ses coupes sont des images bmp.

    Merci  

     

    vendredi 11 avril 2008 16:14
  • Dans ce cas, tu entres dans un monde très avancées pour un débutant. Tu peux utiliser le OpenGL ou DirectX pour tracer en 3D, mais ce n'est pas évident. Tu peux ensuite créé un nuages de points représentant ton volume, mais ce ne serait pas très performant. Il te faudrait implémenté des algorithmes permettants de relier certains points pour créer des volumes fermés qui allègerait ton modèle. Ce n'est pas impossible, mais c'est tout un boulot qui t'attend si tu désires faire cela.

     

    Il y a déjà des librairies (payantes ou pas) qui font cela. Mais si tu as des questions, gênes toi pas!

     

    vendredi 11 avril 2008 17:27
    Modérateur
  • Salut,
    En effet pour créer ce que tu veux faire il faut que tu utilises DirectX ou OpenGL.
    C# étant un produit microsoft je te conseillerai plus DirectX.
    Donc tu télécharges la SDK de directX (la dernière de préférence, celle de Novembre 2007 il me semble), et une fois installée
    tu recherches des tutaux sur son utilisation.
    Je ne sais pas si tu fais du winForm ou du wpf, mais dans le deuxième cas voici un lien pour utiliser Directx avec wpf
    http://msdn2.microsoft.com/fr-fr/library/bb676237.aspx

    Sinon, pour ton problème au niveau conception, je te déconseille les Meshes.Box (qui sont plutot pratiques mais pas dans ton cas). Il faut en effet que tu crées des voxels (pixels en 3D), puis que tu les lies entre eux afin d'obtenir des surfaces parallèles (leurs coordonnées x et y seront les mêmes seule la z changera d'un pas égale afin d'obtenir un espacement identique entre les différentes couches).
    La 3D c'est juste une question de logique, mais c'est vraiment dure au début. Donc si c'est vraiment ce que tu veux, on peux t'aider (avec des exemple de code à l'appuis). Sinon sache qu'il existe des composants graphiques très jolis déjà tout fait.

    La je pense à FluidKit, qui te propose 4 types de rendu 3D (coverflow comme sur l'iTouch, RollerCoaster circulaire 3D, Rolodex comme une file indienne vue de 3/4, et TimeMachine comme un héphéméride verticale).
    De base il ne gère que les images, mais après rien ne t'empèche de lui faire gérer autre chose Wink (là pareil si t'as besoin d'aide hésite pas)
    Voici l'adresse : http://www.codeplex.com/fluidkit
    Par contre c'est du WPF, donc si tu fait du winform ca ne va pas trop t'aider ^^
    J'espère avoir pu t'orienter d'avantage.

    jeudi 17 avril 2008 09:18