Координаты маркера ArUco в плоскости изображения

Используя OpenCV v3.1, я обнаружил маркер ArUco и

aruco::estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs,tvecs);

Я могу получить вектор поворота и перемещения для указанного маркера из системы координат маркера в систему координат камеры.

Однако мне нужны только координаты xy маркера в плоскости изображения (в пикселях). Как бы я пошел по этому поводу?

Я нашел это несколько уместным, но, опять же, это касается системы координат камеры.

1 ответ

Python: получите координаты пикселей внутри изображения из обнаруженного маркера ArUco. Вы можете использовать этот код следующим образом:

      detector = cv.aruco.ArucoDetector(aruco_dict, detetc_params)

for (marker, id) in zip(corners, ids): 
    corner = marker.reshape((4, 2))
    (tl, tr, br, bl) = corner
    cx = (tl[0] + br[0]) / 2
    cy = (tl[1] + br[1]) / 2

print(cx, cy, "cx /cy")

cv.circle(frame, (int(cx), int(cy)), 4, (255, 255, 1), 2) # Using this to draw a circle on the frame of the center point. 
Другие вопросы по тегам