Detaillierte Erläuterung der OpenCV-Bibliotheksfunktion ellipse()

Die Funktion ellipse() der OpenCV-Bibliothek kann einen Sektor oder eine Ellipse zeichnen. Beim Zeichnen eines Sektors müssen Sie lediglich die Längen der Haupt- und Nebenachse der Ellipse auf den gleichen Wert einstellen und den Mittelpunktswinkel des Sektors angeben.

 
# 参数 1.目标图片  2.椭圆圆心  3.长短轴长度  4.偏转角度  5.圆弧起始角度  6.终止角度  7.颜色  8.是否填充
cv2.ellipse(img_p, (500, 200), (100, 100), 0, 60, 120, (255, 255, 255), -1)

Zuerst können Sie eine Leinwand erstellen oder ein Bild als Leinwand lesen und dann mit der Funktion ellipse() einen Fächer erstellen

import cv2 as cv
import numpy as np

# 创建一张画布
img_p = np.zeros((1000, 1000, 3), np.uint8)
# 给画布填充颜色
img_p.fill(255)

# 参数 1.目标图片  2.椭圆圆心  3.长短轴长度  4.偏转角度  5.圆弧起始角度  6.终止角度  7.颜色  8.是否填充
cv.ellipse(img_p, (500, 300), (300, 300), 0, 60, 120, (255, 0, 255), -1)

cv.namedWindow('image_p', cv.WINDOW_NORMAL)
cv.imshow('image_p', img_p)
cv.imwrite('ellipse.png', img_p)
cv.waitKey(0)
cv.destroyAllWindows()

Dieses Programm zeichnet einen Sektor mit einem Ablenkungswinkel von 0, d. h. die Koordinatenachse wird nicht abgelenkt, der Startwinkel beträgt 60° und der Endwinkel beträgt 120°, d 300.

Die Ausgabe ist wie folgt:

Welche Beziehung besteht also zwischen Ablenkwinkel, Startwinkel und Endwinkel?

 Zu diesem Zeitpunkt beträgt der Ablenkungswinkel 0, und dann wird der Ablenkungswinkel mit 60 ° angegeben. Schauen wir uns den Effekt an:

cv.ellipse(img_p, (500, 300), (300, 300), 60, 60, 120, (255, 0, 255), -1)

Schauen Sie sich an, was passiert, wenn ein Ablenkwinkel vorhanden ist:

Zeichnen wir eine Ellipse, um Folgendes zu sehen:

cv.ellipse(img_p, (500, 500), (400, 180), 0, 0, 360, (255, 0, 255), -1)

 Drehen Sie es um 90°, um Folgendes zu sehen:

cv.ellipse(img_p, (500, 500), (400, 180), 90, 0, 360, (255, 0, 255), -1)

Detailliertere Verwendung dieser Funktion:

cv2.ellipse(image, centerCoordinates, axesLength, angle, startAngle, endAngle, color [, thickness[, lineType[, shift]]])
Parameter: 
Bild: Dies ist das Bild, auf dem die Ellipse gezeichnet werden soll.
centerCoordinates: Dies sind die Mittelpunktkoordinaten der Ellipse. Koordinaten werden als Tupel aus zwei Werten dargestellt, nämlich (X-Koordinatenwert, Y-Koordinatenwert).
axisLength: Es enthält ein Tupel aus zwei Variablen, die die Haupt- und Nebenachse der Ellipse enthalten (Länge der Hauptachse, Länge der Nebenachse).
Winkel: Der Rotationswinkel der Ellipse in Grad.
startAngle: Der Startwinkel des Ellipsenbogens in Grad.
endAngle: Der Endwinkel des Ellipsenbogens in Grad.
Farbe: Dies ist die Farbe der Grenzlinie der zu zeichnenden Form. Für BGR übergeben wir ein Tupel. Beispiel: (255, 0, 0) ist blau.
Dicke: Dies ist das Dickepixel der Formgrenzlinie . Stärke -1 px füllt die Form mit der angegebenen Farbe. Der Standardwert ist 1.
 lineType: Dies ist ein optionaler Parameter, der den Typ der Ellipsengrenze angibt. Der Standardwert ist 8.
 Verschiebung: Dies ist ein optionaler Parameter. Es stellt die Anzahl der Dezimalstellen in der Mittelkoordinate und den Wert der Achse dar. Der Standardwert ist 0.

Der Rückgabewert dieser Funktion ist ein Bild nach der Verarbeitung.

 

おすすめ

転載: blog.csdn.net/weixin_51995147/article/details/128479278