52 votes

SciPy Créer un masque polygonal 2D

Je dois créer un tableau numpy 2D qui représente un masque binaire d’un polygone, en utilisant des packages Python standard.

  • entrée: sommets polygonaux, dimensions de l’image
  • sortie: masque binaire du polygone (tableau numpy 2D)

(Contexte plus large : je veux obtenir la transformation de distance de ce polygone à l’aide de scipy.ndimage.morphology.distance_transform_edt.)

Quelqu’un peut-il me montrer comment faire cela?

84voto

Isaac Sutherland Points 757

La réponse s’avère assez simple :

21voto

Yusuke N. Points 226

Une mise à jour sur le commentaire de Joe. L’API Matplotlib a changé depuis la publication du commentaire, et vous devez maintenant utiliser une méthode fournie par un sous-module `` .

Le code de travail est ci-dessous.

4voto

Anil Points 118

Vous pouvez essayer d’utiliser la bibliothèque d’images de python, PIL. Tout d’abord, vous initialisez le canevas. Ensuite, vous créez un objet de dessin et vous commencez à créer des lignes. Cela suppose que le polygone réside dans R^2 et que la liste de sommets de l’entrée est dans le bon ordre.

Entrée = [(x1, y1), (x2, y2), ..., (xn, yn)] , (largeur, hauteur)

Est-ce ce que vous cherchiez, ou demandiez-vous quelque chose de différent?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X