Я использую (недавно выпущенную) ArUco 2.0.7 для отслеживания некоторых маркеров. Камера, которую я использую, закреплена на потолке и направлена вниз, поэтому мне нужны только координаты x и y. Он может просматривать площадь 2,6 м на 1,5 м. Если я правильно понимаю документацию, я указываю длину стороны маркеров, которые я использую, в произвольных единицах, вывод позы будет в той же единице. Таким образом, маркеры имеют длину стороны 19,5 см. Поскольку мне нужен результат в метрах, я установил это значение на 0,195.
Однако результаты, которые я получаю, неверны. Если я размещу маркеры прямо в углах поля зрения камеры, они не будут соответствовать ожидаемым координатам x и y.
Я размещаю глобальное происхождение в одном из углов поля зрения, например. (0,0) — нижний левый угол. Это делается путем преобразования всех входящих позиций в эту систему координат маркеров с использованием матричных преобразований, полученных с помощью getRTMatrix(). Кажется, все работает, за исключением того, что координаты x и y указаны в неправильных единицах измерения или масштабированы. Вращение работает идеально.
Я что-то упускаю? Или можно не рассчитывать на хорошую точность? Ошибка значительная, т.е. когда должно быть (2.6,1.5), оно отображается как (1.8, 1), что примерно соответствует ошибке 33%.