| View previous topic :: View next topic |
| Author |
Message |
cleville
Joined: 09 Dec 2008 Posts: 4
|
Posted: Mon Oct 12, 2009 2:15 pm Post subject: analyse de particules |
|
|
Bonjour,
dans les exemples propos?s par visilog, il y aurait moyen d'analyser des bulles (ou trous etc...) facilement. Faut il un projet sp?cifique ou on peut le faire simplement avec visilog?
si oui comment? car je n'ai pas encore trouver...
Nous avons un logiciel de microanalyse qui le fait tr?s bien (mais cela implique de travailler et l'image et son traitement en m?me temps).
Merci pour votre aide.
ps nous avons visilog 6.5 expert
________
vaporizer help
Last edited by cleville on Wed Feb 02, 2011 3:41 pm; edited 1 time in total |
|
| Back to top |
|
 |
Noesis Administrateur - Site Admin

Joined: 30 Jan 2006 Posts: 169 Location: Gif Sur Yvette - Crolles
|
Posted: Thu Oct 15, 2009 9:56 am Post subject: Un peu plus de détails ? |
|
|
Bonjour
C'est un peu délicat de vous répondre sans voir vos images. Il y a rarement de méthodes génériques permettant d'analyser des bulles (ou autres)
L'enchainement le plus classique :
- filtrage pour améliorer l'image (filtre moyen, median, ...)
- seuillage ou tophat pour binariser les bulles,
- les bulles étant généralement plutôt sphériques, vous devez pouvoir les séparer avec un binseparate
- puis la commande I_analyze pour calculer des mesures sur chacune des bulles
- enfin vous pouvez faire des filtrages par rapport à une ou plusieurs mesures utilisées dans l'analyse.
Auriez vous une image à nous montrer ?
Vous pouvez nous l'envoyer sur tech-support@noesis.fr et nous la mettrons en ligne (si vous le désirez)
Le support technique |
|
| Back to top |
|
 |
cleville
Joined: 09 Dec 2008 Posts: 4
|
Posted: Mon Oct 19, 2009 7:38 am Post subject: |
|
|
voici 2 types d'images que je peux avoir (je peux jouer d?s le d?part pour avoir plus des tons de gris ou plus du "noir et blanc"), ce qui m'interresse ce sont les gros "trous", avec un maximum de renseignements dessus (aire, diam?tre....sachant que j'ai acces a l'?chelle de l'image)
merci pour votre aide
________
Honda XL80
Last edited by cleville on Wed Feb 02, 2011 3:41 pm; edited 1 time in total |
|
| Back to top |
|
 |
Noesis Administrateur - Site Admin

Joined: 30 Jan 2006 Posts: 169 Location: Gif Sur Yvette - Crolles
|
Posted: Thu Oct 29, 2009 8:46 pm Post subject: Analyse |
|
|
Bonjour
Voici une approche qui pourrait vous convenir pour la première image. En utilisant simplement un seuillage, puis une erosion-reconstruction pour supprimer les petites tâches, vous tombez directement sur le résultat
En VBA, cela donne :
| Code: | Sub mc1()
ReDim VlgArray1(0 To 1)
VlgArray1(0) = 0#
VlgArray1(1) = 86#
ImgName = Viewer.ActivateImg
Call threshold(ImgName, VlgArray1, "image5")
Call lerode("image5", M_90_DEG, 2, "image1")
Call reconstruct("image5", "image1", "image4")
Call label("image4", "image2")
End Sub |
J'utilise lerode plutôt que erode car votre image étant tellement peu résolue, l'érosion standard de taille 1 me supprimait des trous à garder.
Voici le résultat obtenu :
Ensuite, vous pouvez faire un I_Analyze avec les mesures qui vous intéresse (Par contre, moi je n'ai pas la bonne calibration !):

Last edited by Noesis on Thu Oct 29, 2009 9:27 pm; edited 1 time in total |
|
| Back to top |
|
 |
Noesis Administrateur - Site Admin

Joined: 30 Jan 2006 Posts: 169 Location: Gif Sur Yvette - Crolles
|
Posted: Thu Oct 29, 2009 9:25 pm Post subject: Analyse de la deuxième image |
|
|
La deuxième image est un tout petit plus compliqué car le fond n'est pas très constant.
Vous pouvez commencer par extraire uniquement la zone d'intérêt (en supprimant la bande blanche du bas)
Pour corriger le fond, vous pouvez utiliser la commande lequalize:
Seuillage pour binariser votre image.
Elimination des petits points par un enchainement erode - reconstruct
Puis, il est nécessaire d'écarter les trous séparés par un ligne fine. Avec beaucoup de résolution, vous pourriez utiliser la commande binseparate, mais ici faite simplement une ouverture (commande opening)
Pour finir, utilisez simplement la commande label et I_analyze pour faire une quanification.
Au niveau VBA, cela donne :
| Code: | Sub mc2()
ReDim VlgArray1(0 To 1)
VlgArray1(0) = 0
VlgArray1(1) = 86
ImgName = Viewer.ActivateImg
Call lequalize(ImgName, 16, "image1")
Call threshold("image1", VlgArray1, "image5")
Call erode("image5", 1, "image1")
Call reconstruct("image5", "image1", "image4")
Call opening("image4", 1, "image6")
Call label("image6", "image7")
End Sub |
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|