Il faut créer un nouveau JAR en remplacant la classe "SnkeGUI" par une nouvelle classe qui gère les entrées/sorties depuis la ligne de commande.
Par exemple, un truc du genre:
public class...
Type: Messages; Utilisateur: pseudocode
Il faut créer un nouveau JAR en remplacant la classe "SnkeGUI" par une nouvelle classe qui gère les entrées/sorties depuis la ligne de commande.
Par exemple, un truc du genre:
public class...
Comme indiqué, ce sont les coefficients d'une B-splines cubique uniforme pour t=0.5
http://upload.wikimedia.org/math/c/a/0/ca03153859eff1142aa9a1c1b580b716.png
c0 = [0.5^3 0.5^2 0.5 1].1/6.[-1...
Ah. C'est juste une astuce a deux balles pour initialiser la valeur de "emin" au premier passage dans la boucle.
Vu que "emin" est un type double, je n'ai pas de moyen de dire qu'il est "non...
:mouarf2:
Oui, c'est vrai. Cette énergie n'est pas vraiment de la pure "courbure".
Au départ, si je me souviens bien, j'avais fait une énergie basée sur l'angle entre les 2 segments (enfin son cosinus, via...
Oui, j'avoue que c'est assez étrange comme formule. Je ne me souviens plus trop comment j'en suis arrivé là, mais ca ne doit pas être très orthodoxe. :aie:
Ca ressemble à une dérivée seconde...
Bien sur. On peut utiliser toutes les énergies que l'on souhaite. C'est tout l'avantage du Snake.
Pour ma part, j'ai pris des formules d'énergies assez simplistes dans mon exemple. Libre a chacun...
Le principe est le même, quel que soit le nombre de dimension:
Créer un snake initial ( 2D:courbe/polygone, 3D:surface/maillage)
Tantque nonconvergence
Pour chaque point du snake
...
Effectivement. J'ai corrigé. ;)
Cette méthode effectue un resampling uniforme du snake. C'est à dire qu'on calcule la position de N points "uniformément espacés" sur la courbe du snake. Pour cela, on procède en deux étapes:
1....
Ah. C'est donc possible a condition d'avoir du code Java 1.3.x. Le problème c'est que le code actuel nécessite Java 1.5 minimum (utilisation des generics). :?
Je ne connais pas assez Matlab pour être sur, mais ca m'étonnerait qu'on puisse faire faciliement une interop Matlab/Java. D'un autre coté, je suis certain qu'on doit pouvoir trouver sur le net une...
Je n'ai pas testé le cas des contours ouverts mais ca me semble une bonne idée de mettre ces deux énergies à 0 pour le premier et le dernier point.
Il faudra également modifier le mécanisme...
Un truc comme ca ?
int MARGIN=8, STEP=16;
List<Point> points = new ArrayList<Point>();
for(int x=MARGIN;x<W-MARGIN;x+=STEP) points.add(new Point(x,MARGIN));
for(int...
Il y a du code Java dans ImageJ pour faire de la segmentation. Il y en a aussi dans JAI si je me souviens bien.
Il te faut un algo de remplissage de polygones. On en a déjà parlé sur le forum....
Un snake ne délimite qu'un seul objet. Donc les choix sont limités:
- Ne pas utiliser les Snakes :aie:
- Segmenter l'image en images plus petites qui ne contiennent qu'un seul objet.
Les import sont les paquets standard du JRE. Dans mon cas, ca fait:
import java.awt.Point;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
Hum... Je ne suis pas bien sûr que le "nombre d'itérations" soit une réponse valable.
C'est plutôt que l'algo du snake résout l'équation énergétique itérativement avec un "schéma explicite"...
Cette energie empeche que les points du snake s'agglutinent autour d'un meme point de fort gradient, et assure ainsi que les points soient répartis sur tout le périmètre du snake.
Comme la mesure de distance est commutative, on aura L(Pi,Pj) = L(Pj,Pi), pout tout i,j. Donc inutile de mesurer 2 fois cette distance.
Pour cela, il suffit d'imposer de mesurer seulement la...
oui, c'est cela.
Heu... en théorie oui, on peut utiliser n'importe quelle mesure.
Dans ton cas, ca voudrait dire utiliser la distance Linfinie = max(abs(x)). Je n'ai jamais testé.
Dans...
Le calcul de la dérivée seconde prend en compte la variation en position (angle entre les vecteurs) mais aussi la variation en grandeur (norme des vecteurs). La norme de la dérivée seconde dépend...
oui c'est ca.
v'(s) représente la variation des points de la courbe (abcisse curviligne) => un vecteur tangeant au déplacement s.
La courbure représente géometriquement la variation de ce...
Oui. La seule limitation de l'approximation c'est qu'elle ne fait pas la difference entre un fort/faible pic de gradient (du fait de la binarisation du gradient, on perd cette information).
...
Le "vrai" GVF calculé sur l'image d'exemple "trefle":
http://xphilipp.developpez.com/contribuez/gvf2.png
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.