|
Publicité ' | ||||||||||||||||||||||||
|
|
#81 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 12 ![]() |
for (int i = 0; i < circle.length; i++) {
double x = (W / 2 + 0) + (W / 2 - 2) * Math.cos((6.28 * i) / circle.length); double y = (H / 2 + 0) + (H / 2 - 2) * Math.sin((6.28 * i) / circle.length); circle[i] = new Point((int) x, (int) y); } L’initialisation de ce code est un cercle, j'ai besoin que l'initialisation est un rectangle de largeur et l’hauteur égale à l'image et merci ... |
|
|
00
|
|
|
#82 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Un truc comme ca ?
Code java :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#83 | ||
|
Invité régulier
![]() Inscription : février 2009 Messages : 9 ![]() |
Je vous remercie, Monsieur pseudocode, pour cette illustration, J'ai lu tout ce débat sur les contours actifs, il est vraiment m'aidé beaucoup
J'ai quelques questions concernant la force interne. Le code pour calculer la force continuité et la force courbure Code java :
Le code est écrit pour les contours actifs fermer, Ma question est dans le cas des contours actifs ouvert, Est-ce qu'on met la force continuité = 0 pour le 1er point Et la force coubure =0 pour le 1er et le dernier point? Puisque dans le cas d'un contour actif ouvert il n'y a pas de précédent pour le premier point; et il n'y a pas le point suivant pour le dernier point. MERCI D'avance Mr PseudoCode |
||
|
|
00
|
|
|
#84 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
Il faudra également modifier le mécanisme d'auto-adaptation si vous comptez l'utiliser car le calcul utilise le fait que la courbe est fermée.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#85 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 1 ![]() |
Excusez moi de poser des questions qui seront peut etre naives mais je suis débutante en java et traitement d'image et je dois développer dans 7 jours qui me reste l'algorithme des contours active (snake) sur des contours ouverts pour détecter la ligne médiane qui divise les deux lobes.
L'image "h.jpg" de la pièce jointe est l'image initial.et l'image "h1.jpg" et l'image que cherche à avoir sachant que j'ai qq point appartenant à cette ligne. Est ce que vous pouvez SVP? merci d'avance |
|
|
00
|
|
|
#86 |
|
Invité de passage
![]() Inscription : mai 2009 Messages : 1 ![]() |
Bonjour,
J'aimerais implémenter la méthode des contours actifs (snake) en langage C. Comment puis-je procéder? En vous remerciant |
|
|
00
|
|
|
#87 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#88 |
|
Invité régulier
![]() Étudiant Inscription : avril 2009 Messages : 51 ![]() |
Bonsoir
j'ai besoin de cet algorithme malheureusement je travaille sur matlab ;je ne sais pas si il y' a un moyen pour faire la liaison de matlab et java et je ne sais pas vraiment comment exécuter cet algorithme dans le netbeans??? si vous pouvez m'indiquez la procédure de l'exécuter j'en serais reconnaissante merci |
|
|
00
|
|
|
#89 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#90 | ||
![]() ![]() ![]() Jerome BriotIngénieur de recherche Inscription : novembre 2006 Messages : 15 330 ![]() |
Citation:
Citation:
__________________
|
||
|
00
|
|
|
#91 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#92 | |
![]() ![]() ![]() Jerome BriotIngénieur de recherche Inscription : novembre 2006 Messages : 15 330 ![]() |
Citation:
Par exemple sous MATLAB R2008b (sortie en octobre 2008) :
__________________
|
|
|
00
|
|
|
#93 | |||
|
Nouveau Membre du Club
![]() Consultant informatique Inscription : juillet 2006 Messages : 34 ![]() |
Citation:
Pour obtenir un snake ouvert j'ai changé la méthode Step() pour ne pas tenir compte des énergies internes dans le cas du premier et dernie point du snake. Code :
Ce calcul me donne un bon Résultat sauf que la Méthode rebuild(int space) Reconstruit le snake et redonne une snake fermé. - Comment dois je procéder pour modifier cette méthode et garder un snake ouvert?? - Est ce que vous pouvez m'expliquer comment procède cette méthode. car franchement j'ai du mal à la comprendre? Merci. |
|||
|
|
00
|
|
|
#94 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
1. Pour chaque point "i" du du snake actuel, on calcule la distance totale depuis le point de départ jusqu'au point "i". (cf. la 1ere boucle for() ) 2. On calcule la position "idéale" du point "i" dans le nouveau snake, c'est à dire le point qui est a la distance (i/snake.size())*taille_totale. Bien sur, cette position idéale tombe souvent "entre deux points" du snake actuel. Pour calculer au mieux cette position, on fait une interpolation (spline cubique) (cf. la 2nde boucle for() ) Citation:
Point next = snake.get( (i+1)%snake.size() ); Pour simuler une courbe ouverte, il suffit de dire que le point "next" du dernier point n'existe pas... ou, plus simplement, qu'il est confondu avec le dernier point. Point next = snake.get( Math.min(i+1,snake.size()-1) ); De meme dans la deuxième boucle, on utilise 4 points consécutifs et à nouveau on utilise un modulo pour considèrer la boucle fermée: Point prev = snake.get((i+snake.size()-1)%snake.size()); Point cur = snake.get(i); Point next = snake.get((i+1)%snake.size()); Point next2 = snake.get((i+2)%snake.size()); On peut également utiliser la meme astuce que précédemment pour simuler une courbe ouverte: Point prev = snake.get( Math.max(i-1,0) ); Point cur = snake.get(i); Point next = snake.get( Math.min(i+1,snake.size()-1) ); Point next2 = snake.get( Math.min(i+2,snake.size()-1) );
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#95 | |
|
Nouveau Membre du Club
![]() Consultant informatique Inscription : juillet 2006 Messages : 34 ![]() |
Citation:
Merci énormément pour votre réactivité Juste une petite remarque pour le point prev il faut prendre le Math.max(i-1,0). |
|
|
|
00
|
|
|
#96 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#97 |
|
Futur Membre du Club
![]() Inscription : octobre 2007 Messages : 51 ![]() |
désolé de ressortir ce topic, je ne sais pas si je dois en ouvrir un autre ou continuer sur celui-ci, vu que ma question a un rapport très étroit avec ce topic ^^
Tout d'abord un grand merci pour ce code qui m'a été énormément utile. Je travail sur un volume d'image IRM, et mon but et de segmenter une tumeur cérébrale. J'ai donc utilisé ce code pour effectuer un snake sur chaque coupes de la tumeur, et je voudrais à présent travailler directement "en 3D". Avez vous des sources pour implémenter ce snake ? ou des idées pour généraliser ce code a la 3D ? Merci d'avance, et longue vie a ce forum qui m'a sauvé la vie plus d'une foie :p |
|
|
00
|
|
|
#98 | |||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
Code :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|||
|
00
|
|
|
#99 |
|
Futur Membre du Club
![]() Inscription : octobre 2007 Messages : 51 ![]() |
merci, je vais donc fouiller dans cette direction.
|
|
|
00
|
|
|
#100 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 43 ![]() |
Bonjour pseudocode,
J'ai une petite question concernant cette fonction: f_uniformity(Point prev, Point next, Point p) il n'y a que deux points qui sont utilisés. Est ce qu'on peut utiliser les 3 points pour avoir plus de robustesse. Merci |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com