-
Détéction de contours
Bonjours,
J'aimerai pouvoir trouver un algorithme de détection de contour dans une image. J'ai vue beaucoup de choses (sobel, prewitt, canny) mais les algos ne sont pas assez précis sur les méthodes. J'aurai besoin des étapes et surtout des formules à utilisé (comme pour le calcul du gradient) qui soit détaillées.
Si vous avez un site ou un pdf (ou autre) clair :lol:, ce serai vraiment sympas de me le communiquer.
merci d'avance. :D
-
h1=[1,0,-1;2,0,-2;1,0,-1]; % Sobel filter
h2=[1,2,1;0,0,0;-1,-2,-1];
contour=abs((conv2(image,h1)))+abs((conv2(image,h2)));%Convolution de ton image avec les 2 filtres
(image en noir et blanc)
Jespere que ça t'aidera un peu !
-
Sobel et autres, c'est trop vieux pour ce genre de travaux !
Essaie un laplacien déjà et si c'est trop bruité, passe un coup de passe-bas avant.
-
méthode de canny
merci de vos réponses, mais je pense je je manquais un peu de clarter dans ma requete...
J'ai des images couleur convertis en 8 bits (plan de luminence), cette image je la converge avec quatre filtre de sobel (les quatre directions pour mettre en évidence tous les contours de l'image, je les regroupe, et je seuil l'image à 128.
Le résultat n'est pas du tout ce que j'attendais.
Mon image représente la diffusion de particule à travers un liquide hétérogène avec un diaphragmme. Donc on a les bors noirs, au centre l'ouverture du diaphragme est représenter avec un fond sombre (plus clair que le fond noir des borsd de l'image) et les particules représenter par la lumière diffusé ( grosse bulles ou gouttelettes d'émulsion, fibres etc...)
j'aimerai obtenir les contours de mes particules, mais j'ai un problème car le fond noir ressore avec pleins de bruits, ainsi que mes particule, ainsi les contours sont impossible à mettre en évidences!!
Vous aller surement me dire qu'il faut que je passe un fitre passe-bas avant pour homogéniser le fond noir, mais j'ai peur que cela suprime certaines particule de petite taille mais qui sont importantes quand meme!!
J'ai entendu parler de la méthode de canny, mais ça à l'air très compliqué et je n'ai pas trouvé de docs très détaillés pour cette méthode.
Y aurai-t-il une ame chjaritable pour me sortir de ce pétrin?
merci pour l'aide.
-
Salut, pourrait tu poster une image justement avant traitement.
Peut etre peut on caracteriser ton bruit de maniere à ne pas éliminer tes particules.
Perso: tout dépend évidement de ce que je te demande plus haut, avant traitement j'appliquerais une ouverture morhologique avec un élément strucutrant de la taille de tes particules.
http://www.ph.tn.tudelft.nl/Courses/FIP/noframes/fip-Morpholo.html#Heading98
ps: c'est pour du comptage de particules??
-
salut,
avec de la morho math, tu as un filtre appele tophat (chapeau haut de forme), qui te permet de mettre en évidence les structures fines en homogénéisant le fond. Regarde de ce cote.
A+
-
Un filtrage morphologique peut être pas mal, effectivement. En tout cas, ça ne peut pas être pire qu'avec un Sobel !
Je me rappelle encore mon directeur de thèse disant à ses élèves en cours qu'il ne voulait voir personne utiliser ce genre d'algos en stage de fin d'étude.
-
Salut,
qu'est ce que tu entends par "ce genre d'algo..." sobel + quels autres?
l'avantage de sobel c'est qd même qu'il est assez rapide, surtt par rapport au filtre de deriche (ou alors j'ai mal codé deriche qui m'a semblé relativement lent: 1-3 secondes pour une image 300*300pix), mais c'est vrai que le résultat n'est pas très convaincant.
je proposerais bien une étude de l'histogramme (type isodata ou autre) pour effectuer un seuillage et extraire les particules puis réaliser la détection de contours avec deriche après.
ps:
ce qui est intéressant avec deriche c'est que tu peux règler la sensibilité en modifiant le paramètre alpha.
-
Salut,
qu'est ce que tu entends par "ce genre d'algo..." sobel + quels autres?
l'avantage de sobel c'est qd même qu'il est assez rapide, surtt par rapport au filtre de deriche (ou alors j'ai mal codé deriche qui m'a semblé relativement lent: 1-3 secondes pour une image 300*300pix), mais c'est vrai que le résultat n'est pas très convaincant.
je proposerais bien une étude de l'histogramme (type isodata ou autre) pour effectuer un seuillage et extraire les particules puis réaliser la détection de contours avec deriche après.
ps:
ce qui est intéressant avec deriche c'est que tu peux règler la sensibilité en modifiant le paramètre alpha.
-
La série des Sobel et tous ceux qui sont basés sur le même principe de base.
S'il te faut 1 à 3 secondes - c'est quand même du simple au double, faudrait vérifier... -, c'est un peu beaucoup, effectivement. On fait du canny parfois chez nous et il est pas si lent - images 256*256*256 -