De l'Image (couleur?) segmentation avec opencv C++
Que le graphique a montré, je voudrais d'entrée de l'image et d'obtenir plusieurs segments comme un résultat comme ça.
C'est comme un cluster de la couleur la plus proche de segment, donc je pense que c'est proche de la notion de "meanshift"?
J'ai cherché sur des questions pertinentes ici, mais ne sais toujours pas comment faire pour démarrer et la construction de la structure en opencv C++. Je suis à la recherche de quelques conseils, et je vais être très apprécier si l'obtention d'un morceau de la mise en œuvre du code pour moi la référence! Merci pour toute aide!!
==================================================
Modifier 5/19/2015
Permettez-moi d'ajouter que l'un de mes essayant implémentations Bassin versant est ici:(http://blog.csdn.net/fdl19881/article/details/6749976).
Il n'est pas parfait, mais le résultat que je souhaite. Dans cette œuvre, l'utilisateur a besoin pour fonctionner manuellement( tirage au sort le bassin versant de lignes ), donc je suis à la recherche de la version AUTOMATIQUE. Les sons un peu dur, mais... je vais apprécier pour certains suggestion ou un morceau de code pour le faire.
Peut-être que vous pourriez utiliser un algorithme de bassin versant pour la segmentation, et sélectionnez la couleur moyenne de la segmentation de l'élément pour la visualisation?! Voilà comment j'ai commencé à
En fait, j'avais essayé plusieurs mise en œuvre cherché sur le net, mais il semble que non, même un proche de ce que je veux sauf Efficace à Base de Graphe de Segmentation d'Images (par P. Felzenszwalb, D. Huttenlocher), voici le site de démo: cs.brown.edu/~pff segment/ Mais malheureusement, j'ai eu un problème dans ce code patch(le "loadPPM" fonction), alors je suis venu ici à la mendicité pour une autre ou modifié de façon à mettre en œuvre.
ouais vous avez raison! C'est ce que j'essaie de faire maintenant, mais le "bassin versant" de la mise en œuvre que j'ai vu sont nécessaires pour le travail manuel, mais pas AUTOMATIQUE segment...
OriginalL'auteur Oasis | 2015-05-18
Vous devez vous connecter pour publier un commentaire.
Opencv Documentation: Lien
Paramètres: ici
Exemple de code pour Meanshift de filtrage:
C'est la sortie avec votre image, vous devrez peut-être utiliser certaines de pré-traitement avant ou peut-être trouver certains des meilleurs paramètres:
EDIT: Sortie avec un certain flou gaussien à l'avance (commentaire dans le code)
est vous voulez des super-pixels pour la sémantique de segmentation, vous pourriez envisager des approches plus modernes tels que chrit
Si vous êtes à la recherche pour mean-shift la segmentation (plutôt que de filtrage), vous pourriez envisager de EDISON.
Graphique efficace Basé sur la Segmentation est un très bon algorithme, si vous êtes sous linux, vous pouvez essayer
convert image.anything image.ppm
. Il ya aussi un assez bon port à opencv dans lien.Merci beaucoup! Ceux qui semble bon! Je vais les essayer!
OriginalL'auteur Aristu
Le problème avec la recherche, à la segmentation des approches est qu'elles sont soit mis en œuvre dans Matlab (personne en-dehors de l'Uni peut l'utiliser) ou qu'ils ne sont pas automatiques. Une approche où l'utilisateur a besoin de prétraitement de l'image en choisissant des objets d'intérêt ou des niveaux qui indiquent comment diviser des couleurs n'est pas utile car il n'est pas automatique. Si vous le souhaitez, vous pouvez essayer mon OpenCV en fonction de la mise en œuvre de la segmentation décrite dans ce post de blog. Il n'est pas parfait, mais il est automatique et n'a plus de travail et vous pouvez télécharger la source et de l'essayer.
OriginalL'auteur MoDJ