OpenCV Kreis zeichnen

Ammar Ali 12 April 2022
OpenCV Kreis zeichnen

In diesem Tutorial wird das Zeichnen von Kreisen auf Bildern mit der Funktion circle() von OpenCV in Python erläutert.

Verwenden Sie die circle()-Funktion von OpenCV, um Kreise auf Bildern in Python zu zeichnen

Wir können die circle()-Funktion von OpenCV verwenden, um Kreise auf Bildern mit unserer gewünschten Position, Radius, Farbe, Dicke und Linientyp zu zeichnen.

Das erste Argument der Funktion circle() ist das Bild, mit dem wir den Kreis zeichnen möchten. Das zweite Argument ist der Mittelpunkt des Kreises, und sein Wert sollte ein Punkt sein, der die x- und y-Achsenwerte eines Pixels enthält, das wir als Mittelpunkt des Kreises verwenden möchten.

Die Position beginnt in der oberen linken Ecke eines Bildes. Das dritte Argument ist der Radius des Kreises, und sein Wert kann eine beliebige Ganzzahl sein. Das vierte Argument ist die Farbe des Kreises und sollte ein BGR-Triplettwert wie (0,0,255) für die rote Farbe sein.

Die oben genannten Argumente sind obligatorisch, und wenn eines davon fehlt, wird ein Fehler ausgegeben.

Lassen Sie uns zum Beispiel ein Bild mit der Funktion imread() von OpenCV lesen und dann die Funktion circle() verwenden, um den Kreis auf dem Bild zu zeichnen und ihn mit der Funktion imshow() von OpenCV anzuzeigen. Siehe Code unten.

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)

Ausgabe:

Kreis auf Bild

Es gibt drei weitere optionale Argumente, die wir ändern können. Das optionale Argument hat einen Standardwert, der verwendet wird.

Angenommen, wir definieren keinen Wert für die optionalen Argumente. Das erste optionale Argument ist die Dicke des Kreises, die wir auf eine beliebige ganze Zahl setzen können.

Das zweite optionale Argument ist der Linientyp oder -stil, der standardmäßig auf cv2.LINE_8 eingestellt ist. Das dritte optionale Argument ist der Verschiebungswert, den wir als Bruchbits in der Mitte und dem koordinierten Radiuswert verwenden möchten.

Ändern wir zum Beispiel die optionalen Argumente wie Dicke in 10 und Linientyp in cv2.LINE_AA. Siehe Code unten.

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)

Ausgabe:

optionale Argumente des Kreises

Wenn wir die Kreisstärke auf einen negativen Wert setzen, wird die Kreisfläche mit Farbe gefüllt.

Es gibt auch andere Funktionen für verschiedene Formen wie rectangle() zum Zeichnen eines Rechtecks ​​auf einem Bild, line() zum Zeichnen einer Linie, ellipse() zum Zeichnen einer Ellipse und putText() zum Zeichnen Text auf Bilder setzen.

Autor: 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

Verwandter Artikel - Python OpenCV