alfaquireilaallah
Messages postés5Date d'inscriptiondimanche 12 avril 2009StatutMembreDernière intervention26 juillet 2009 26 juil. 2009 à 19:54
bonjour à tous...
j'ai un pb concernant comment on peut intégrer ces classes et fonctions
dans une application donnée en c++builder.
pouvez-vous m'aider?
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 11 avril 2008 à 09:40
Salut
Voronoi est une methode de segmentation, c'est a dire qu'il segmente l'image initiale et chaque nouvelle region obtenue aura une unique valeur.
Ex:
La region 1 aura le label 0
La region 2 1 etc...
Apres c'est a toi de faire comme tu veux. Moi j'ai choisi de mettre des couleurs aleatoires pour chaque region mais c'est un choix personnel.
donc le label 0 aura comme valeur R=rand()%255, G=rand()%255, B=rand()%255
A+
nilda2007
Messages postés8Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention 9 mai 2008 10 avril 2008 à 21:45
salut!
ma question sur cette methode esk ca marche avec des image en couleur ou non cad esk c 1 des methodes de segmentation des images couleurs car j'ai appliqué sur une photos un proramme sur DV mais resultat était en noir et blans mais je vois ici que le resulta est en couleur??
esk kelk1 peut m'expliqué...merciii
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 10 sept. 2007 à 08:20
Salut Muff
Merci de ton message, il met les choses en place au niveau de la complexité. En effet je savais bien qu'il devait y avoir une différence entre ma facon de faire et celle des chercheurs...
Merci d'avoir pris le temps de poster ce message.
Tu as travaillé sur les diagramme de Voronoi ? Parce que je serais intéressé de trouver le code de la construction du réseau comme le font les chercheurs.
A+
cs_Muff
Messages postés4Date d'inscriptionsamedi 15 mars 2003StatutMembreDernière intervention 6 septembre 2007 6 sept. 2007 à 16:11
Salut,
Si j'ai bien compris ton algo, ça consiste en gros à parcourir tous les points de l'image et à choisir pour chacun d'entre eux la ville la plus proche. À ce moment là, l'algorithme est en effet linéaire suivant le nombre de villes, il est aussi linéaire suivant le nombre de pixels dans ton image.
Le meilleur connu actuellement est en n*log(n) suivant le nombre de villes, et s'applique dans un cadre plus général: il renvoie les équations des segments qui séparent chaque région et définit de manière exacte chaque région d'influence tandis qu'ici, tu ne t'attaches qu'aux points à coordonnées entières. De plus il est en O(n) en espace mémoire utilisé tandis que le tien est en O(la surface de l'image = la surface du plan entre les villes aux extrémités, ce qui est dépendant de leurs coordonnées).
Voilà qui conclura peut-être le débat sur la complexité
Sinon, très jolies les mosaïques et sympa le choix de la distance.
On pourrait se servir de ce principe pour mettre un effet de mosaïque sur une image
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 10 avril 2007 à 14:44
Je sais bien et je ne prétend pas avoir trouvé l'algo du siècle cependant j'ai fait des tests qui montrent que la construction du diagramme de voronoi est fait en o(n).
J'aimerai aussi comprendre car mon algo est très simple...
Tous mes tests ont été fait en mesurant le temps c'est peut etre à cause de cela.
cs_f
Messages postés5Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention 8 avril 2007 8 avril 2007 à 20:16
Le meilleur algo existant est en n*log(n), meme pour les plus grands chercheurs..
cs_adnan05
Messages postés16Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention23 décembre 2014 7 mars 2007 à 18:20
est ce que qlq avais ce pgm en builder.
merci.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 1 mars 2007 à 07:58
Salut
Tu as tout à fait raison pour n< nlog n, je me suis emballé.
J'ai dit cela car j'ai vu des algorithmes tourner qui était bien plus rapide que le mien...
Je vais essayer de laisser tourner mon pc plus longtemps pour tester des n>800, mais c'est vrai qu'à priori, c'est bien un algo linéaire!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 28 févr. 2007 à 20:45
Effectivement, c'est très joli avec la distance de manhattan, et je suis tjs aussi étonné du résultat pour la distance euclidienne :). Ton interface graphique est vrmnt agréable en tout cas.
Et ton analyse statistique est convainquante pour n < 800 en tout cas, je peux difficilement contredire. C'est juste très étonnant.
Sinon, n < n log n pour tout n > 1, donc oui, de manière tout à fait certaine, n est mieux que n log n. Aucun doute là dessus.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 28 févr. 2007 à 20:05
Voila voila j'ai ajouté la possibilité de choisir la distance que l'on souhaite: euclidienne ou manhattan.
J'avoue que je suis assez surpris du résultat du diagramme pour la distance de manhattan. Cela donne vraiment un diagramme assez inabituelle.
Je vous invite à allez le voir, il est très sympas.
Ah oui au fait Kirua, tu peux réafficher les villes une fois que tu as tracé les polygones. (Appuye sur POINTS)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 28 févr. 2007 à 19:50
Salut Kirua
Je t'assure que mon algo est linéaire. Je vais bientôt mettre un doc de stat sur les performances en temps de mon algorithme.
L'équation de la droite est : y = 90 x+200 le tout en ms.
Je ne comprends pas pourquoi tu dis qu'un algo en nlog(n) est moins performant qu'un algo linéaire. La différence en temps ce fait surtout lorsque n devient très grand à l'avantage de l'algo en nlog(n)?
Sinon mon programme utilise la distance euclidienne mais je vais voir ce qui ce passe avec les autres distances...
Merci de ton commentaire en tout cas.
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 28 févr. 2007 à 13:03
Euhm, je doute fortement que ton algorithme soit linéaire ( O(n) )comme tu dis. Et si c'était le cas, ce serait vraiment dommage de vouloir le transformer en un O(n lg n)... La triangulation de delaunay, qui est le problème "dual" de celui-ci, donc de complexité intrinsèque équivalente, peut être construit en au mieux O(n lg n). D'où mes doutes.
Du reste, le résultat est assez joli, mais ça aurait été chouette que tu dessines les villes par dessus les polygones :).
Tu as utilisé quoi comme définition de distance? Euclidienne ou manhattan? (ie: sqrt(a² + b²) ou abs(a) + abs(b) ?). En fait, je ne suis pas familier avec le diagramme de voronoi, mais j'en comprends bien la définition, et je suis étonné de voir des polygones plutôt que des formes courbes quelconques, ce qui s'expliquerait assez simplement si tu as utilisé la distance de manhattan.
26 juil. 2009 à 19:54
j'ai un pb concernant comment on peut intégrer ces classes et fonctions
dans une application donnée en c++builder.
pouvez-vous m'aider?
11 avril 2008 à 09:40
Voronoi est une methode de segmentation, c'est a dire qu'il segmente l'image initiale et chaque nouvelle region obtenue aura une unique valeur.
Ex:
La region 1 aura le label 0
La region 2 1 etc...
Apres c'est a toi de faire comme tu veux. Moi j'ai choisi de mettre des couleurs aleatoires pour chaque region mais c'est un choix personnel.
donc le label 0 aura comme valeur R=rand()%255, G=rand()%255, B=rand()%255
A+
10 avril 2008 à 21:45
ma question sur cette methode esk ca marche avec des image en couleur ou non cad esk c 1 des methodes de segmentation des images couleurs car j'ai appliqué sur une photos un proramme sur DV mais resultat était en noir et blans mais je vois ici que le resulta est en couleur??
esk kelk1 peut m'expliqué...merciii
10 sept. 2007 à 08:20
Merci de ton message, il met les choses en place au niveau de la complexité. En effet je savais bien qu'il devait y avoir une différence entre ma facon de faire et celle des chercheurs...
Merci d'avoir pris le temps de poster ce message.
Tu as travaillé sur les diagramme de Voronoi ? Parce que je serais intéressé de trouver le code de la construction du réseau comme le font les chercheurs.
A+
6 sept. 2007 à 16:11
Si j'ai bien compris ton algo, ça consiste en gros à parcourir tous les points de l'image et à choisir pour chacun d'entre eux la ville la plus proche. À ce moment là, l'algorithme est en effet linéaire suivant le nombre de villes, il est aussi linéaire suivant le nombre de pixels dans ton image.
Le meilleur connu actuellement est en n*log(n) suivant le nombre de villes, et s'applique dans un cadre plus général: il renvoie les équations des segments qui séparent chaque région et définit de manière exacte chaque région d'influence tandis qu'ici, tu ne t'attaches qu'aux points à coordonnées entières. De plus il est en O(n) en espace mémoire utilisé tandis que le tien est en O(la surface de l'image = la surface du plan entre les villes aux extrémités, ce qui est dépendant de leurs coordonnées).
Voilà qui conclura peut-être le débat sur la complexité
Sinon, très jolies les mosaïques et sympa le choix de la distance.
On pourrait se servir de ce principe pour mettre un effet de mosaïque sur une image
10 avril 2007 à 14:44
J'aimerai aussi comprendre car mon algo est très simple...
Tous mes tests ont été fait en mesurant le temps c'est peut etre à cause de cela.
8 avril 2007 à 20:16
7 mars 2007 à 18:20
merci.
1 mars 2007 à 07:58
Tu as tout à fait raison pour n< nlog n, je me suis emballé.
J'ai dit cela car j'ai vu des algorithmes tourner qui était bien plus rapide que le mien...
Je vais essayer de laisser tourner mon pc plus longtemps pour tester des n>800, mais c'est vrai qu'à priori, c'est bien un algo linéaire!
28 févr. 2007 à 20:45
Et ton analyse statistique est convainquante pour n < 800 en tout cas, je peux difficilement contredire. C'est juste très étonnant.
Sinon, n < n log n pour tout n > 1, donc oui, de manière tout à fait certaine, n est mieux que n log n. Aucun doute là dessus.
28 févr. 2007 à 20:05
J'avoue que je suis assez surpris du résultat du diagramme pour la distance de manhattan. Cela donne vraiment un diagramme assez inabituelle.
Je vous invite à allez le voir, il est très sympas.
Ah oui au fait Kirua, tu peux réafficher les villes une fois que tu as tracé les polygones. (Appuye sur POINTS)
28 févr. 2007 à 19:50
Je t'assure que mon algo est linéaire. Je vais bientôt mettre un doc de stat sur les performances en temps de mon algorithme.
L'équation de la droite est : y = 90 x+200 le tout en ms.
Je ne comprends pas pourquoi tu dis qu'un algo en nlog(n) est moins performant qu'un algo linéaire. La différence en temps ce fait surtout lorsque n devient très grand à l'avantage de l'algo en nlog(n)?
Sinon mon programme utilise la distance euclidienne mais je vais voir ce qui ce passe avec les autres distances...
Merci de ton commentaire en tout cas.
28 févr. 2007 à 13:03
Du reste, le résultat est assez joli, mais ça aurait été chouette que tu dessines les villes par dessus les polygones :).
Tu as utilisé quoi comme définition de distance? Euclidienne ou manhattan? (ie: sqrt(a² + b²) ou abs(a) + abs(b) ?). En fait, je ne suis pas familier avec le diagramme de voronoi, mais j'en comprends bien la définition, et je suis étonné de voir des polygones plutôt que des formes courbes quelconques, ce qui s'expliquerait assez simplement si tu as utilisé la distance de manhattan.
Sinon, le rendu est splendide!