OpenCV retorna coordenadas de pontos-chave e área da detecção de blob, Python
Segui um exemplo de detecção de blob (usandocv2.SimpleBlobDetector
) e detectou com êxito os blobs na minha imagem binária. Mas não sei como extrair as coordenadas e a área dos pontos-chave. Aqui está o código para as detecções de blob:
# 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)
Então a variávelkeypoints_black
contém as informações dos blob (s). Quando imprimi a variável, parecia algo assim (foram encontrados 2 blobs):
KeyPoint 0x10b10b870, KeyPoint 0x10b1301b0
Então, como obter as coordenadas do centro de massa dos pontos-chave e sua área, para que eu possa enviá-los como mensagens osc para interação.