Cercle de dessin en OpenCV

Ammar Ali 12 avril 2022
Cercle de dessin en OpenCV

Ce didacticiel abordera le dessin de cercles sur des images à l’aide de la fonction circle() d’OpenCV en Python.

Utilisez la fonction circle() d’OpenCV pour dessiner des cercles sur des images en Python

Nous pouvons utiliser la fonction circle() d’OpenCV pour dessiner des cercles sur des images avec l’emplacement, le rayon, la couleur, l’épaisseur et le type de ligne souhaités.

Le premier argument de la fonction cercle() est l’image que nous voulons dessiner le cercle. Le deuxième argument est le point central du cercle, et sa valeur doit être un point contenant les valeurs des axes x et y d’un pixel que nous voulons utiliser comme centre du cercle.

L’emplacement commence à partir du coin supérieur gauche d’une image. Le troisième argument est le rayon du cercle et sa valeur peut être n’importe quel nombre entier. Le quatrième argument est la couleur du cercle, et il devrait s’agir d’une valeur de triplet BGR comme (0,0,255) pour la couleur rouge.

Les arguments mentionnés ci-dessus sont obligatoires, et si l’un d’entre eux manque, il y aura une erreur.

Par exemple, lisons une image en utilisant la fonction imread() d’OpenCV, puis utilisons la fonction circle() pour dessiner le cercle sur l’image et l’afficher en utilisant la fonction imshow() d’OpenCV. Voir le code ci-dessous.

import cv2

img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255))

cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)

Production :

cercle sur l’image

Il existe trois autres arguments facultatifs que nous pouvons modifier. L’argument facultatif a une valeur par défaut qui sera utilisée.

Supposons que nous ne définissions pas de valeur pour les arguments optionnels. Le premier argument facultatif est l’épaisseur du cercle, que nous pouvons définir sur n’importe quel nombre entier.

Le deuxième argument facultatif est le type ou le style de ligne, défini par défaut sur cv2.LINE_8. Le troisième argument facultatif est la valeur de décalage que nous voulons utiliser comme bits fractionnaires dans la valeur coordonnée du centre et du rayon.

Par exemple, changeons les arguments optionnels comme l’épaisseur en 10 et le type de ligne en cv2.LINE_AA. Voir le code ci-dessous.

import cv2

img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255), 10, cv2.LINE_AA)

cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)

Production :

arguments facultatifs du cercle

Si nous définissons l’épaisseur du cercle sur une valeur négative, cela remplira la zone du cercle de couleur.

Il existe également d’autres fonctions disponibles pour différentes formes comme un rectangle() pour dessiner un rectangle sur une image, line() pour dessiner une ligne, ellipse() pour dessiner une ellipse et putText() pour mettre du texte sur les images.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - Python OpenCV