我想使用sba进行捆绑包调整任务,并且我想使用sba-1.6(http://users.ics.forth.gr/~lourakis/sba/)。但是用户手册没有确切说明如何使用它。我有点困惑。
例如,我要使用此函数sba_mot_levmar,它的参数p我不知道它是什么。这里的问题是,提供的示例使p中的旋转部分为0。
调用此函数后,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]
)

最佳答案

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

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

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

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

我相信这些方法比您提到的简单方法更易于使用和运行

关于c++ - sba的使用方法(稀疏束调整),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36884056/

10-12 20:26