Доброе утро,
Я использую скелетный трекер OpenNI2 + NiTe2 и 2 камеры xtion. Мне нужно, чтобы совмещенные позиции в одной и той же системе координат между двумя камерами и исходная точка этой новой системы отсчета были в точном (более или менее) положении, поэтому я пытаюсь использовать Aruco для этого.
Пока я получаю rvec e tvec, используя cv::aruco::estimatePoseSingleMarkers
и cv::Rodrigues(rvec,R);
от aruco, и создаю матрицу преобразования A.
Затем, выполняя отслеживание, я трансформирую каждое соединение следующим образом:
R_ = MatrixXd(4, 4);
R_ << -1, 0, 0, -0.025,
0, -1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1; //from RGB (Aruco) to DEPTH (joint)
R_ = (A.inverse()) * R_;
p1 = R_ * p0; //p0 original joint coordinates
Если я прав, таким образом я преобразую каждый шарнир из системы координат камеры в систему на aruco.
Я делаю это для обеих камер (каждая со своими внутренними параметрами и преобразованием aruco), но новые совместные координаты не перекрываются, как должны.
Есть идеи?
Заранее спасибо.