векторы, поэтому вам понадобится маркер, чтобы получить их.
аружил напечатанный маркер Aruco, используя opencv 3.2:
aruco::estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs,tvecs);
это возвращает вектор перемещения и вращения для маркера. Что мне нужно, это 3D-координаты для каждого угла маркера.
Поскольку я знаю длину маркера, я мог бы сделать что-то вроде
corner1 = tvecs[0] - markerlength /2;
corner2 = tvecs[0] + markerlength /2;
....
Но есть ли лучший способ? Или существующая функция? Подводя итог, я имею:
3d точка в центре 2-го квадрата.
длина сторон этого квадрата.
значение вращения квадрата.
Как я могу найти трехмерные координаты углов?