2010-08-03 7 views
0

Est-il possible d'utiliser .net pour émuler la fonctionnalité de baguette trouvée dans votre éditeur de photos normal? I.e. l'utilisateur clique sur une partie d'une photo et l'application sélectionne automatiquement les X pixels environnants en fonction d'un facteur donné (généralement le seuil de tolérance)..net photo Sélectionnez la fonctionnalité «baguette»

Une idée sur comment je pourrais le faire avec .net? Merci

+1

Cette question est beaucoup trop large je pense. –

Répondre

1

Pour ce faire, vous devrez effectuer une manipulation de base des pixels. Je voudrais commencer par stocker la couleur du pixel sur lequel ils ont cliqué, puis instancier un tableau 2D d'ints qui est les mêmes dimensions que l'image. Changez l'int correspondant au pixel sur lequel vous avez cliqué en 1. A ce stade, il vous suffit d'utiliser un pseudo-algorithme de cartographie pour exploser vers l'extérieur, en changeant les pixels correspondants à "1" dans votre tableau, et les pixels non concordants à "- 1".

Finalement, vous aurez un dragueur de mines-esque tableau 2D avec un coeur de 1s, et les bords de -1s, puis les zones invérifiables encore à 0. Les 1s devient alors la zone sélectionnée

0

Vous voulez faites un flood fill en utilisant vos critères de seuil de tolérance pour déterminer si un pixel doit être inclus ou non.

Les détails sont un peu trop pour une simple réponse StackOverflow. Comme vous pouvez le voir sur le Wikipedia article, il y a beaucoup de nuances juste à l'algorithme de remplissage d'inondation.

Questions connexes