Maison  >  Article  >  développement back-end  >  Comment dessiner des formes géométriques sur une image en utilisant Python

Comment dessiner des formes géométriques sur une image en utilisant Python

WBOY
WBOYoriginal
2023-08-18 13:02:051800parcourir

Comment dessiner des formes géométriques sur une image en utilisant Python

Comment utiliser Python pour dessiner des formes géométriques sur des images

Introduction : Python, en tant que langage de programmation puissant, peut non seulement exécuter des technologies avancées telles que le traitement des données et l'apprentissage automatique, mais également le traitement d'images et le dessin graphique. En traitement d'image, il est souvent nécessaire de dessiner diverses formes géométriques sur des images. Cet article explique comment utiliser Python pour dessiner des formes géométriques sur des images.

1. Préparation de l'environnement et installation de la bibliothèque

Avant de commencer, nous devons d'abord installer plusieurs bibliothèques nécessaires pour Python, dont principalement la bibliothèque OpenCV et la bibliothèque Matplotlib. Vous pouvez l'installer en utilisant la commande pip, comme indiqué ci-dessous :

pip install opencv-python
pip install matplotlib

Une fois l'installation terminée, nous pouvons commencer à utiliser Python pour dessiner les formes géométriques de l'image.

2. Dessinez un rectangle

Dessiner un rectangle est l'un des dessins de forme géométrique les plus simples et peut être réalisé grâce à la fonction rectangle de la bibliothèque OpenCV. Voici un exemple de code simple :

importer cv2

Lire l'image

img = cv2.imread('image.jpg')

Dessiner le rectangle

cv2.rectangle(img, (100, 100), ( 300, 300), (0, 255, 0), 3)

Afficher l'image

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Dans le code ci-dessus , nous lisons d'abord une image via la fonction cv2.imread et la sauvegardons dans la variable img. Ensuite, nous appelons la fonction cv2.rectangle pour dessiner un rectangle, où le premier paramètre est la variable image, le deuxième paramètre est les coordonnées du coin supérieur gauche du rectangle, le troisième paramètre est les coordonnées du coin inférieur droit du rectangle, et le quatrième paramètre est la couleur. Le cinquième paramètre est la largeur de la ligne. Enfin, nous affichons l'image via la fonction cv2.imshow.

3. Dessinez un cercle

Dessiner un cercle peut également être réalisé via la bibliothèque OpenCV, et vous pouvez utiliser la fonction cercle. Voici un exemple de code :

importer cv2

Lire l'image

img = cv2.imread('image.jpg')

Dessiner un cercle

cv2.circle(img, (200, 200), 100, (0, 0, 255), -1)

Afficher l'image

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Dans le code ci-dessus, nous lisons d'abord une image via la fonction cv2.imread et enregistrez-la dans la variable img. Ensuite, nous appelons la fonction cv2.circle pour dessiner un cercle, où le premier paramètre est la variable de l'image, le deuxième paramètre est la coordonnée centrale, le troisième paramètre est le rayon, le quatrième paramètre est la couleur et le cinquième paramètre est la La largeur de la ligne, si elle est définie sur -1, remplit le cercle. Enfin, nous affichons l'image via la fonction cv2.imshow.

4. Tracer des lignes

Le dessin de lignes est également une exigence courante pour dessiner des formes géométriques, qui peut être réalisée à l'aide de la fonction de ligne de la bibliothèque OpenCV. Voici un exemple de code :

importer cv2

Lire l'image

img = cv2.imread('image.jpg')

Tracez la ligne

cv2.line(img, (100, 100), (300 , 300), (255, 0, 0), 5)

Afficher l'image

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Dans le code ci-dessus, Nous lisons également d’abord une image via la fonction cv2.imread et la sauvegardons dans la variable img. Ensuite, nous appelons la fonction cv2.line pour tracer une ligne droite, où le premier paramètre est la variable d'image, le deuxième paramètre est les coordonnées du point de départ de la ligne, le troisième paramètre est les coordonnées du point final de la ligne et le quatrième Le paramètre est la couleur. Le cinquième paramètre est la largeur de la ligne. Enfin, nous affichons l'image via la fonction cv2.imshow.

5. Dessiner des polygones

Pour dessiner des polygones, vous pouvez également utiliser la fonction de ligne dans la bibliothèque OpenCV. Il vous suffit de transmettre les coordonnées de plusieurs points. Voici un exemple de code :

importer cv2

Lire l'image

img = cv2.imread('image.jpg')

Définir plusieurs sommets du polygone

pts = np.array([[200, 50 ], [300, 100], [300, 200], [100, 200], [100, 100]], np.int32)

Dessiner un polygone

cv2.polylines(img, [pts], True, ( 255, 0, 255), 3)

Afficher les images

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Dans le code ci-dessus, nous passons également d'abord le La fonction cv2.imread lit une image et l'enregistre dans la variable img. Ensuite nous définissons un tableau pts, qui contient les coordonnées de plusieurs sommets du polygone. Enfin, nous appelons la fonction cv2.polylines pour dessiner des polygones, où le premier paramètre est la variable image, le deuxième paramètre est le tableau de sommets, le troisième paramètre indique s'il faut fermer le polygone, le quatrième paramètre est la couleur et le le cinquième paramètre est la largeur de la ligne. Enfin, nous affichons l'image via la fonction cv2.imshow.

Conclusion : cet article présente brièvement comment utiliser Python pour dessiner des formes géométriques sur des images et donne des exemples de codes pour les rectangles, les cercles, les lignes et les polygones. En apprenant ces méthodes, nous pouvons mieux appliquer Python pour le traitement d'images et le dessin graphique. J'espère que cet article sera utile à tout le monde.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn