Bonjour,
je me sers actuellement de la fonction hist sous matlab pour créer un histogramme d'un contour d'une image représentant une forme à symétrie de révolution. Certaines parties de cette forme sont côniques, d'autres cylindriques. Je recherche le diamètre des parties cylindriques (toutes sont coaxiales), du coup je repère les pics de l'histogramme (les parties côniques ne donnant pas de max mais un étalement des rayons).
Jusqu'à présent je n'avais que des formes simples avec un ou deux pics, mais désormais je peux en avoir 4 ou 5. J'aimerais savoir comment extraire les diamètres auxquels correspondent ces pics.
Voici un exemple d'histogramme en pièce jointe.
Pour extraire le pic le plus gros, je cherche l'indice du rayon max :
et pour un segment de longueur 7 batons centré autour du max je fais la moyenne pondérée, pour obtenir le rayon max moyen (sur l'histo joint mon programme détecte donc le pic le plus important, et me donne alors un rayon moyen de 390.8 µm). L'idée est donc d'avoir plusieurs rayons max, comment faire ? Y a-t-il un moyen sous matlab de détecter des pics étalés comme ceux vers 170 µm, 390 µm et 590 µm par exemple (ceux au-delà sont plus compliqués) ? Merci d'avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part indicermax=find(histo==max(histo), 1, 'last' );
Partager