在机器视觉学习中经常遇到计算旋转矩阵的问题,在这里整理最近学习的两种计算旋转矩阵的方法。
1.参考点击打开链接中文献,该方法也是opencv中epnp算法计算旋转矩阵的方法
假设Pc和Pw是一组3d点在不同坐标系下的坐标,计算旋转矩阵R和平移向量T使得Pc=Pw*R+T
/**R存储旋转矩阵
***t存储平移量
***pc**pw存储点坐标
***num点的个数
*/
void estimate_R_and_t(double R[3][3], double t[3], double *pcs, double *pws, int number_of_correspondences) // 计算R和t (Horn,...)
{
double pc0[3], pw0[3];
pc0[0] = pc0[1] = pc0[2] = 0.0;
pw0[0] = pw0[1] = pw0[2]