0

Я использую (недавно выпущенный) ArUco 2.0.7 для отслеживания некоторых маркеров. Камера, которую я использую, установлена ​​на потолке вниз, поэтому мне нужны только координаты x и y. Он может просматривать площадь 2,6 м на 1,5 м. Если я правильно понимаю документацию, я поставлю длину блока маркеров, которые я использую в произвольном блоке, выход позы будет в одном блоке. Таким образом, маркеры имеют длину 19,5 см. Поскольку я хочу получить результат в метрах, у меня есть значение, равное 0.195.Aruco неправильно оценивает координаты

Однако результаты, полученные мной, неверны. Если я помещаю маркеры прямо в углы поля зрения камеры, они не соответствуют соответствующим ожидаемым координатам x и y.

Я размещаю глобальное происхождение в одном из углов поля зрения, например. (0,0) - нижний левый угол. Это делается путем преобразования всех входящих позиций в эту систему координат маркеров с использованием матричных преобразований, полученных методом getRTMatrix(). Кажется, что все работает, за исключением того, что координаты x и y находятся в неправильном блоке или масштабируются. Вращение отлично работает.

Я что-то упустил? Или я не могу ожидать хорошей точности? Ошибка является значительной, например. когда это должно быть (2.6.1.5), оно отображается как (1.8, 1), что примерно равно 33%.

ответ

0

После нескольких размышлений я выяснил, что просто моя камера была откалибрована, используя меньшее расстояние от калибровочной панели до объектива, чем то, что мне нужно для моего использования. Это привело к тому, что коэффициенты искажения были неправильными, что дало мне фиктивный масштаб. Я снова откалиброван с помощью инструмента aruco_calibration и теперь точно до 3 или 4 см, что достаточно для меня.

 Смежные вопросы

  • Нет связанных вопросов^_^