Координаты маркера 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.