Определение движения поворота с помощью маркера Aruco

Я пытаюсь получить угол поворота двух маркеров Aruco относительно маркера поворота. Маркер A - это центр оси, прикрепленный к куску картона. Два других маркера напечатаны на одном листе бумаги и, следовательно, равноудалены от маркера A. Чтобы понять правду, я вырезал небольшое окно на маркерном листе и поставил под него шкалу транспортира. Идея состоит в том, чтобы рассчитать угол поворота, используя маркеры, и визуально сравнить его с наземной истинностью.

Я хотел бы сначала использовать только маркер B для определения угла, а позже добавить маркер C, чтобы вычислить среднее значение.

Я использую центральное 3D-положение A и B, предоставленное Tvecs. Затем я вычисляю опорный вектор между AB, когда маркеры находятся в положении 0°. Когда я поворачиваю маркеры, я снова вычисляю AB и сравниваю его с опорным вектором, чтобы получить угол.

Моя проблема в том, что 3D-позиции, полученные из маркеров, не равноудалены во время вращения. Я ожидал, что вектор AB будет иметь одинаковую длину во время процесса вращения, но он изменяется на ~40%, и мои рассчитанные углы вообще не соответствуют истинности относительно земли. Я уже откалибровал камеру, но она ничего не изменила.

Я что-то упустил здесь?

0 ответов

Другие вопросы по тегам