Python Programming Tutorials
On November 29, 2021 by adminZeichnen und Schreiben auf Bildern OpenCV Python Tutorial
In diesem OpenCV mit Python Tutorial werden wir uns damit beschäftigen, wie man verschiedene Formen auf Bildern und Videos zeichnet. Es ist ziemlich üblich, erkannte Objekte auf irgendeine Weise zu markieren, damit wir Menschen leicht sehen können, ob unsere Programme so funktionieren, wie wir es uns erhoffen. Ein Beispiel hierfür wäre eines der zuvor gezeigten Bilder:
Für dieses vorläufige Beispiel werde ich das folgende Bild verwenden:
Sie können auch Ihr eigenes Bild verwenden. Wie üblich kann unser Startcode so aussehen:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
Als Nächstes können wir mit dem Zeichnen beginnen, etwa so:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
Die cv2.line() nimmt die folgenden Parameter entgegen: wo, Startkoordinaten, Endkoordinaten, Farbe (bgr), Liniendicke.
Das Ergebnis hier:
Alles klar, cool, lasst uns mit ein paar weiteren Formen Unsinn anstellen. Als nächstes ein Rechteck:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
Die Parameter hier sind das Bild, die obere linke Koordinate, die untere rechte Koordinate, die Farbe und die Linienstärke.
Wie wäre es mit einem Kreis?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
Die Parameter hier sind das Bild/der Rahmen, der Mittelpunkt des Kreises, der Radius, die Farbe und die Stärke. Beachten Sie, dass wir für die Dicke einen Wert von -1 haben. Das bedeutet, dass das Objekt tatsächlich ausgefüllt wird, so dass wir einen ausgefüllten Kreis erhalten.
Linien, Rechtecke und Kreise sind cool und so, aber was ist, wenn wir ein Fünfeck oder Achteck oder Achteck wollen? Kein Problem!
Zunächst benennen wir pts, kurz für points, als ein Numpy-Array mit Koordinaten. Dann verwenden wir cv2.polylines, um die Linien zu zeichnen. Die Parameter sind wie folgt: wohin wird das Objekt gezeichnet, die Koordinaten, sollen wir den End- und Startpunkt „verbinden“, die Farbe und wieder die Dicke.
Das letzte, was Sie vielleicht tun möchten, ist auf das Bild zu schreiben. Das kann so gemacht werden:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
Der vollständige Code bis zu diesem Punkt wäre etwa so:
Das Ergebnis:
Im nächsten Tutorial werden wir grundlegende Bildoperationen behandeln, die wir durchführen können.
Schreibe einen Kommentar