J'ai essaye avec les conditions que tu m'as fournis mais j'ai le meme probleme.. :?
Version imprimable
J'ai essaye avec les conditions que tu m'as fournis mais j'ai le meme probleme.. :?
Merci Chef :)
Bonjour,
J'ai besoin de calculer des points concaves sur un contour dans le cadre d'un traitement d'image.
J'utilise une méthode issue d'un papier de recherche mais je ne vois juste pas comment l'appliquer.
La formule demande de calculer des points de courbure avec la formule k=(x'y''-y'x'')/((x'²+y'²)^(3/2)) (x et y sont les coordonnées d'un point du contour). L'article dit que les dérivées sont calculées en convoluant le contour et les dérivées gaussiennes. Je comprends pas vraiment et je ne vois pas du tout comment faire, mais je suis sûr que ce qui est dit dans ce post.
Merci pour votre aide.
Bonjour, merci pour votre réponse.
Je sais comment marchent à peu près les traitements basiques et les filtres. Ce que je comprends pas par rapport à l'article, c'est la convolution du contour avec les dérivées gaussiennes. Concrètement ça veut dire quoi? D'après ce que j'avais compris:
- x' est le résultat de la convolution du point (x,y) de l'image de base avec la dérivée partielle en x de la gaussienne
- y' est le résultat de la convolution du point (x,y) de l'image de base avec la dérivée partielle en y de la gaussienne.
du coup pour ces deux calculs je pouvais me servir du gradient.
- x'' est le résultat de la convolution du point (x,y) de l'image de base avec la dérivée seconde partielle en x de la gaussienne
- y'' est le résultat de la convolution du point (x,y) de l'image de base avec la dérivée seconde partielle en y de la gaussienne.
pareil, je me suis servi du gradient en remplaçant les dérivées premières par seconde.
Pour moi il s'agissait juste de faire 4 produits de convolutions avec les différentes dérivées, sur une fenêtre genre 3*3, pour obtenir x', y', x" et y".
J'obtiens bien des résultats très proches de 0 pour le calcul de k mais aucun significatif qui me donnerai les points concaves...
Du coup je sais pas, peut être que la dérivée seconde ne se fait pas sur l'image de base...
J'ai essayé aussi de convoluer toute l'image avec le noyau des dérivées partielles (comme si on faisait un filtre gaussien mais en remplacant la gaussienne par les dérivées). mais j'obtiens une soit image toute noire, soit une erreur avec JAI (uniquement pour les dérivées d'ordre 1). L'erreur vient de la normalisation des coefficients du noyau, c'est à dire que si j'enlève la division des coefficients par leur somme, pas de problème mais c'est tout noir.
Bref je suis un peu perdu et je ne trouve aucune méthode claire pour calculer un point de concavité. J'aimerai vraiment un peu d'aide ne serait-ce que sur la suite de calculs que je dois faire...
Oui, c'est bien cela.
Sans doute que la fenêtre 3*3 est trop petite. Sur une si petite zone, c'est difficile d'estimer une dérivée, et encoure moins une courbure.Citation:
J'obtiens bien des résultats très proches de 0 pour le calcul de k mais aucun significatif qui me donnerai les points concaves...
Oui la fenêtre était trop petite, est la formule pas tout à fait correcte. En fait il faut utiliser la formule (9) page 2 issue de ce papier de recherche http://www.google.fr/url?sa=t&source...eIl6YQ&cad=rja.
La formule pour K est:
k = - (Fxx + F²y - 2 Fx Fy Fxy + Fyy F²x) / ((F²x+F²y)^(3/2)) avec Fx la convolution du contour et de la dérivée en X de la gaussienne, Fxx la convolution du contour et de la dérivée seconde en X de la gaussienne, etc.
Dans mon cas, plus K est proche de 0 et plus il y a de chance que le point soit un point de contour (il faut fixer un seuil).