Bonjour à tous,
Je suis nouveau dans Matlab, j'ai un gros souci. J'ai un lot d'images de mon faisceau laser à chaque position de la focale. J'ai besoin d'un code me permettant de tracer le volume focal à partir des images. Merci de m'aider.
Bonjour à tous,
Je suis nouveau dans Matlab, j'ai un gros souci. J'ai un lot d'images de mon faisceau laser à chaque position de la focale. J'ai besoin d'un code me permettant de tracer le volume focal à partir des images. Merci de m'aider.
Bonjour,
il va surement falloir donner un peu plus d'infos sur le problème rencontré, par exemple :
* quelle est le type d'images ? 2D, 3D ? microcopie ou processus physique particulier ?
* éventuellement donner une image exemple
* c'est quoi le volume focal ?
Bonjour Kangourou,
En fait ce sont des images 2D qui représentent chacune le profil d'un faisceau laser en fonction de la distance à la focale. Le volume focal est la distribution 3D de l'éclairement laser au point focal.
hello,
si je comprends bien, les images correspondent à une intensité d'"éclairement", et le but est de représenter cette intensité en fonction de la position ?
Est ce que la fonction "surf" ne ferait pas tout simplement l'affaire ? Par contre il faut une image scalaire en entrée, il faut donc s'assurer que l'image n'est pas en couleur.
A+
Hello,
En fait, comme je suis nouveau sur Matlab, j'avais besoin d'un code pour lire le stack d'images, construire un volume à partir des dimensions 2D du faisceau sur les images et la position de chaque faisceau. Peux-tu m'aider dans ce sens? Merci bien
hello,
ok, donc les données de départ sont 3D ;
On peut lire des images 3D sous matlab soit avec imread en faisant une boucle, soit en utilisant des contributions utilisateurs qui chargent directement la pile (j'en avais écrite une ici).
Pour reconstruire le volume 3D, c'est normalement assez simple :
* soit une binarisation : ("mask = img > seuil;"), qui génère une image binaire de même taille que l'image d'entrée. Le volume focal peut être obtenu simplement en comptant le nombre de voxels binarises.
* soit utiliser une isosurface, qui permet d'obtenir un maillage triangulaire qu'on peut représenter en 3D.
Ca répond à la question ?
Bonjour,
Sachant que tu as N images, tu agglomères chaque image dans une matrice 3D comme ceci :
Où IMG{i} est la ième image. Pour obtenir IMG, je te conseille de faire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i = 1:N Volume(:,:,i) = IMG{i}; end
https://fr.mathworks.com/matlabcentr...-volume-render
Code : Sélectionner tout - Visualiser dans une fenêtre à part IMG(i) = {ième image};
Je te conseille cette fonction pour l'affichage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager