OpenCV gibt die Schlüsselpunktkoordinaten und den Bereich von der Blob-Erkennung, Python @, zurüc
Ich folgte einem Beispiel für die Blob-Erkennung (mitcv2.SimpleBlobDetector
) und habe die Blobs in meinem Binärbild erfolgreich erkannt. Aber dann weiß ich nicht, wie ich die Koordinaten und die Fläche der Schlüsselpunkte extrahieren soll. Hier ist der Code für die Blob-Erkennung:
# I skipped the parameter setting part.
blobParams = cv2.SimpleBlobDetector_Params()
blobVer = (cv2.__version__).split('.')
if int(blobVer[0]) < 3:
detector = cv2.SimpleBlobDetector(blobParams)
else:
detector = cv2.SimpleBlobDetector_create(blobParams)
# Detect Blobs
keypoints_black = detector.detect(255-black_blob)
trans_blobs = cv2.drawKeypoints(gray_video_crop, \
keypoints_white, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
So die Variablekeypoints_black
enthält die Informationen der Blobs. Als ich die Variable ausgedruckt habe, sah sie ungefähr so aus (es wurden 2 Blobs gefunden):
KeyPoint 0x10b10b870, KeyPoint 0x10b1301b0
So bekomme ich die Koordinaten des Schwerpunkts der Schlüsselpunkte und deren Fläche, damit ich sie als Osc-Nachrichten für die Interaktion senden kann.