Настройка пучка для Ceres Solver

Я новичок в решениях ceres (нелинейный метод наименьших квадратов) и программирования на c ++. Я успешно установил Ceres Solver и выполнил код bundle_adjuster.cc в Ubuntu, загрузив набор данных, размещенный на http://grail.cs.washington.edu/projects/bal/. Я должен использовать Bundle Adjustment как черный ящик в проекте. Я хочу напечатать уточненные позы камеры, трехмерные координаты наборов данных. Как это сделать, что я должен отредактировать в bundle_adjuster.cc, чтобы получить новую матрицу поз и трехмерную координату.

Благодарю.

0

Решение

Изысканные позы камеры и 3D-объекты находятся в структуре bal_problem:

double* points = bal_problem->mutable_points();
double* cameras = bal_problem->mutable_cameras();

Они представляют собой массив с двойными числами, каждая 3D-точка занимает 3 (X, Y, Z), а каждая камера — 6 (вращение оси Родрига с поворотом и сдвигом).

Итак, для массива точек: X0 Y0 Z0 X1 Y1 Z1, … и для камер: R00 R10 R20 X0 Y0 Z0 R01 R21 R31 X1 Y1 Z1, …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]