如何使用 sba(稀疏束调整)

how to use sba(sparse bundle adjustment)

我想用sba做bundle adjustment任务,我想用sba-1.6(http://users.ics.forth.gr/~lourakis/sba/)。但是用户手册并没有具体说明如何使用它。我有点困惑。 例如,我想使用这个函数 sba_mot_levmar ,它有一个参数 p 我不明白它是什么。这里的问题是提供的示例使 p 中的旋转部分为 0。那么 p 是什么? 调用此函数后,p?

中的内容是什么?
int sba_mot_levmar(
const int n,   /* number of points */
const int m,   /* number of images */
const int mcon,
char *vmask,  
double *p,    /* initial parameter vector p0: (a1, ..., am).
               * aj are the image j parameters, size m*cnp */
const int cnp,/* number of parameters for ONE camera; e.g. 6 for Euclidean cameras */
double *x,    
double *covx, 
const int mnp,
void (*proj)(int j, int i, double *aj, double *xij, void *adata),

void (*projac)(int j, int i, double *aj, double *Aij, void *adata),

void *adata,      

const int itmax,   
const double opts[SBA_OPTSSZ]
double info[SBA_INFOSZ]
)

关于如何使用 sbaRos 有很好的教程,但我不确定它是否是 Lourakis 实现:

-http://wiki.ros.org/sba/Tutorials/IntroductionToSBA

它解释了一个例子,最近我在 python 中找到了它的包装器(如果你不关心使用的语言):

-https://pypi.org/project/sba/

我相信这些比您提到的直接方式更易于使用 运行