Bonjour à vous tous
Je veux savoir comment je peut créer un graphe à partir d'une image en c++?? comme le montre la figure suivante, où chaque noeud contient un pixel de l'image.
![]()
Bonjour à vous tous
Je veux savoir comment je peut créer un graphe à partir d'une image en c++?? comme le montre la figure suivante, où chaque noeud contient un pixel de l'image.
![]()
D'après toi?
Je vois deux parties au problème, lire l'image et créer le graphe.
Comme ton graphe est un maillage, tu peux utiliser une matrice contenant les poids des aretes, de la taille qui convient (lis à ce sujet les deux entrées sur les matrices de la faq C++)
ui j'ai déjà passé l'étape de la lecture d'image. Ce qui me bloque c'est la modélisation de la classe graph
Pas besoin d'un graphe, c'est juste une matrice avec soit 2 fois plus de ligne, soit 2 fois plus de colonnes.
Vous pouvez aussi générer 2 matrices de la même taille que l'image, l'un avec le delta horizontal, l'autre avec le delta vertical.
vous ne m'avez pas compris
je suis entrain d'implémenter un algorithme de segmentation des images par la méthode ligne de partage d'eau qui est basé sur les graphes. Donc j'aurai besoin de ce passage là.
La conception de ton graphe devrait être simple, mais répondre à un besoin
Tu va forcément avoir une classe graphe, qui te propose les services dont tu auras besoin.
Quelle serait son interface publique?
Partant de la, tu as deux grandes sortes de solutions:
- Avec deux classes noeud et aretes,
- Avec une seule de ces deux classes, parce qu'une seule composante n'a d'utilité pour l'utilisateur. (généralement le noeud)
je te suggérais un tableau 2D (ou une version linéarisée, c'est pareil)
Partager