У меня проблема с функцией drawAxis в модуле aruco. Перевернутая ось Z и общая не на 90 градусов (X и Y работает нормально).
Проблема иллюстрируется экраном:
обратная ось
Я попытался сменить камеру, обнаружить другие маркеры и сделать много калибровок (я пробовал разные конфигурации фотографий, между 15 и 100)
Когда я напечатал вектор вращения (rvec), я заметил, что угол 0 и 1 (x, y?) Имеют небольшие колебания, но угол 2 (z?) В целом постоянен:
Rvec Print
Где может быть проблема? Если оси X и Y работают нормально, код должен быть правильным? Это нормально, что rvec_2 является константой? Или, может, я виноват в калибровке?
Пожалуйста, за любые подсказки!
С уважением!
Я нашел решение:
моя ошибка заключалась в использовании стандартной схемы калибровки шахматной доски:
плохая калибровочная доска
Я знаю, что во многих уроках эта калибровка работает нормально, но в моем случае — нет
Моей душой была доска charuco (исходный код генератора charuco):
https://github.com/opencv/opencv_contrib/blob/master/modules/aruco/samples/calibrate_camera_charuco.cpp
Когда я калибрую камеру с помощью этой платы, все работает нормально
Надеюсь, что это может быть полезно для кого-то, привет
Других решений пока нет …