2015-10-08 49 views
0

我是ceres(非線性最小二乘)求解器和C++模板編程的新手。我已經成功安裝了ceres求解器,並通過下載發佈在http://grail.cs.washington.edu/projects/bal/上的數據集在ubuntu上執行了bundle_adjuster.cc代碼。我必須使用Bundle Adjustment作爲項目中的黑盒子。我想打印精緻的相機姿態,數據集的三維座標。如何做到這一點,我應該在bundle_adjuster.cc中編輯以獲取新的姿態矩陣和三維座標。穀神星解算器的捆綁調整

謝謝。

回答

1

精製相機的姿勢和3D對象點在bal_problem結構:

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

它們與雙打只是陣列,每一個3D點需要3(X,Y,Z)和每一個照相機需要6( Rodrigues角度軸旋轉加翻譯)雙打。

所以對於點陣列:X0 Y0 Z0 X1 Y1 Z1,...和相機:R00 R10 R20 X0 Y0 Z0 R01 R21 R31 X1 Y1 Z1,...