OpenCV возвращает координаты ключевых точек и области из обнаружения BLOB-объектов, Python
Я последовал примеру обнаружения BLOB-объектов (используяcv2.SimpleBlobDetector
) и успешно обнаружил капли в моем двоичном изображении. Но тогда я не знаю, как извлечь координаты и области ключевых точек. Вот код для обнаружения 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)
Так что переменнаяkeypoints_black
содержит информацию о BLOB-объектах Когда я напечатал переменную, она выглядела примерно так (было найдено 2 капли):
KeyPoint 0x10b10b870, KeyPoint 0x10b1301b0
Итак, как мне получить координаты центра масс ключевых точек и их площади, чтобы я мог отправлять их в виде сообщений osc для взаимодействия.