|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Bonjour,
Je vous écris car j'ai une difficulté d'effectuer le comptage des composants connexes dans une image. A partir d'une image (scan), j'ai effectué un seuillage à 90 qui me parait adéquat (car le seuillage inférieur à 90 donne des contours non fermés, et supérieur à 90 donne des bruits dans l'image). J'ai ensuite fait l'étiquetage en composantes connexes, cela m'a donné 120 objets au lieu de 145 (j'en suis pas loin) Ceci est dû au fait que les contours ne sont pas totalement fermés, pour cela je n'arrive pas à atteindre le nombre exact des objets. J'ai tenté une autre technique, (Seuillage->ouverture (érosion puis dilatation) -> Étiquetage), ceci m'a donné une image avec des contours fermés mais avec des bruits au milieu des objets, le comptage maintenant donne 200 puisqu'il prend en compte les petits objets (bruits crées en raison de l'ouverture). Je ne sais pas que faire maintenant, pour cela je vous sollicite de me donner de l'aides et conseils .. |
|
|
00
|
|
|
#2 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Bonsoir,
est ce que l'on pourrait avoir quelques images d'exemple pour savoir ce que l'on doit traiter/trouver/compter/etc. PS : - une image vaut 1000 mots - c'est un problème de méthodologie et non d'ImageJ, donc le message va être déplacé.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
J'ai mis l'image de départ ci-joint.
Après les images binaires (issues de seuillages+ouvertures) sont sous formats .pgm et je n'arrive pas à les attacher ci-joint. Je vous remercie. |
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
As tu essayé un filtre alterné séquentiel ?
Ce genre d'image correspondrait bien à un watershed stochastic, mais il faudrait de nombreuses itérations pour être certain de trouver les petites composantes. Sinon je testerai les érodés ultimes.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Je te remercie pour ta réponse.
Je ne sais pas c'est quoi un "filtre alterné séquentiel". Pour "l'érodés ultimes", il faut le faire un seuillage avant ? Image après seuillage à 90 (Image-2). Voilà j'ai fait un érodés ultimes après un seuillage à 90 (Image-3). J'ai fait un à 90 seuillage puis une érosion puis une dilatation (Image-4), ce résultat m'arrange mieux car j'ai réussi à fermer les contours, mais par contre le souci c'est que cela a généré des petits particules qui sont comptés comme des composantes lors de l'étiquetage .. |
|
|
00
|
|
|
#6 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Pour le filtre alterné séquentiel, fais une recherche.
L'érodé ultime pourrait te donner un bon résultat avec un seuillage bas, mais il faut toujours utiliser la notion de seuil qui est ennuyeuse pour la généralisation. En revanche, je viens de relire mes cours de morphomath et l'ouverture ultime (ultimate opening) s'applique très bien à ton cas. Tu peux même faire une reconstruction de tes résidus afin de schématiser le centre des morceaux..
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Bonjour,
Je te remercie pour le soutien. J'ai fait l'érodé ultime pour l'image issue d'un seuillage bas (60), cela ma donné l'image attaché ci-joint, mais l'étiquetage donne trop de composants (300), en fait il a compté les petits particules aussi. Concernant l'ouverture ultime, pour faire ceci il faut faire (l'érosion ultime+dilatation ultime), alors que mon logiciel ne fourni que l'érosion ultime.. je peux utiliser la dilatation fonctionnelle ou binaire ensuite? Sinon pour la reconstruction des résidus afin de schématiser le centre des morceaux, parles tu des centres des composantes ou bien des particules (bruits). L'opération s'appelle la reconstruction géodésique ? Merci. |
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
L'ouverture ultime est facile à programmer.
Il suffit de sauver au bout de combien d'itération une composante est supprimer. Ensuite il suffit de faire une dilatation conditionnelle si tu souhaites faire la reconstruction. Même sans faire cette dernière étape, tu auras un tableau avec les tailles de chaque composantes, donc tu auras l'information souhaitée. A toi ensuite de mettre un seuil pour savoir à partir de quelle taille tu considères que c'est une composante.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
10
|
|
|
#9 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Merci, mais je pense que j'aurai toujours le problème des contours, puisqu'ils y en a qui sont fermés et d'autre ouverts, ce qui risque d'introduire des erreurs.
Tu es d'accord avec moi qu'il faut fermer tous les contours d'abord? |
|
|
00
|
|
|
#10 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Non, pas pour l'ouverture ultime.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
je pense que compris ce que tu m'as dit, mais en fait il n y a pas de cours sur internet qui parle de l'ouverture ultime sauf le lien que j'ai trouvé (plus bas) qui explique un peu ce principe.
Alors si j'ai bien compris, partant d'une image binaire (Après seuillage) l'ouverture ultime permet de faire disparaître les objets, ces derniers pour nous ce sont les particules blancs, on commence par transformer les pixels blancs de chaque composante par des pixels noire, et au final on aura une image toute noire, n'est ce pas? Comment détermine t-on une composantes alors que les contours sont ouverts? Corrige moi mon explication s'il te plait, et si tu pourrais me passer un cours et un algorithme de ce principe pour pouvoir programmer, je te remercie. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Voici le lien que j'ai trouvé :
http://jo.fabrizio.free.fr/teaching/...morphomath.pdf |
|
|
00
|
|
|
#13 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Non justement, tu travailles en niveaux de gris. Ce qui dans ton cas est très utile pour les petites composantes.
PS : le cours que tu as trouvé me semble vraiment très bien.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
J’ai appliqué les opérations suivantes : Seuillage à 80+ Inversion d’image + Transformé en distance (Faire apparaitre un maxima par objet + Erodé ultime + l’étiquetage en composantes connexes, Ceci m’a donné un résultat presque bon.
A ce stade, je dois compter les particules qui touchent les bords. J’ai codé en sorte de détecter les objets collés au bord (Lignes et colonnes égales à zéro et aux max), mais le souci est que, comme j’utilise une image issue de l’érodé ultime (image ci-joint), les objets se sont rétrécis, et donc les objets qui touchent les bords ne sont plus positionnés comme avant. J’ai changé la façon de compter en partant d’un axe puis détecter le premier objet, mais le souci est que je risque d’aller jusqu’au milieu d’image et de toucher un objet qui n’était pas sur le bord. J’aimerais savoir si tu peux m’aider à trouver une solution. Merci. |
|
|
00
|
|
|
#15 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Normalement l'érodé ultime te donne des toutes petites composantes, autrement dit, le dernier niveau de composante juste avant leur disparition par la dernière érosion. Donc je pense qu'il doit y avoir un souci.
Sinon, lorsque tu auras ton érodé ultime, tu peux essayer de reconstruire tes composantes. Normalement, lors de l'érodé ultime, tu sauvegarde le nombre d'érosion nécessaires pour faire disparaître chaque composante. Tu peux ainsi faire l'inversion et appliquer une dilatation pour reconstruire les objets. Sinon, vu que tu as appliqué un seuillage binaire, tu peux simplement supprimer les composantes qui touchent les bords avant l'érodé ultime. Mais cela risque d'être un peu sauvage et tu pourrais perdre des composantes du milieu qui lors de seuillage sont restées collées avec celles qui touchent les bords. Est ce que tu as tenté l'ouverture ultime (donc en niveau de gris). Ca semble adapté à ton problème.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
Je te remercie de ton aide, je vais réfléchir et appliquer à ce que tu m'as donné comme solutions et je te tiens au courant.
Concernant l'ouverture ultime, j'ai proposé cela à mon tuteur (prof de traitement d'image), elle m'a dit que ceci n'existe pas, même si je lui ai montré le cours que j'ai trouvé sur internet, elle m'a dit que l'ouverture ultime n'existe pas en traitement d'image, et donc m'a obligé de suivre son raisonnement. Que serait en fait la différence entre l'érodé ultime et l'ouverture ultime? comme ça j'avance dans les deux solution. Merci. |
|
|
00
|
|
|
#17 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
Ce n'est pas parce que ton tuteur ne connaît pas la morphologie mathématique qu'elle n'existe pas :@. Ce genre de "tuteur" me fait absolument rêver. Dans quelle école es tu ?
Jète donc un coup d'oeil à cet article, tu verras que c'est exactement ce que tu souhaites faire (raison pour laquelle je conseille l'ouverture ultime). Profites en pour le montrer à ton tuteur aussi, ça améliorera un peu sa biblio...
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
J'ai pensé à toi tout à l'heure lors de la soutenance quand on a été attaqué par des profs en nous accusant de ne pas chercher plus d'infos (sur internet , d'autres enseignants ..) mais je voulais pas dire que la prof était archi têtue vu que c'est la chef du depart..
Bon, j'ai vu l'article que tu m'as passé, j'ai remarqué qu'il permet de rétrécir les particules, mais c'est peut être le même principe qu'on a utilisé? car le notre donne aussi le même résultat (érodé ultime - Image avec des particules blanches ci-dessus). Aussi, je n'ai pas compris quand tu parlais de (éviter le problème de seuil), notre seuil sera fixe quelques soit le type d'image? car on travaille sur des images différentes (contraste variale). |
|
|
00
|
|
|
#19 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 808 ![]() |
L'érodé ultime permet justement d'éviter d'utiliser un seuil.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() amigo ami Inscription : avril 2010 Messages : 15 ![]() |
L'érodé ultime ou l'ouverture ultime ?
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com