如何使用二维跟踪和初始三维姿态来估计三维姿态
How to estimate 3D pose using 2D tracking and initial 3D pose
当对象在场景中移动时,我如何计算3D姿势?我使用SURF跟踪场景中的对象,并且该对象的初始3D姿势是已知的。我所知道的是,一旦我使用SURF,两个连续帧之间的2D对应关系就知道了,所以3D姿态应该不难通过将原始3D姿态乘以一些变换矩阵来计算。
当你知道特征点在某个固定坐标系中的3D位置时,在移动相机时,你真正需要做的就是估计相机的姿态,并应用反向变换来知道对象在当前参考系中的当前姿态。这样的问题被称为Pn-P问题。围绕这一点有大量的工作,但最近关于这一主题的一篇论文承诺了一种有效的姿态估计算法http://cvlabwww.epfl.ch/~lepetit/piers/lepetit_ijcv08.pdf
您也可以使用cv::solvePnP
您所要做的叫做运动结构。查看相关论文和软件的链接。
相关文章:
- 如何使用qt缩放三维网格
- 使用vtkImageReslice重新切片三维原始图像
- 使用pcl transformcloud将三维点平移并旋转到原点
- 使用unique_ptr来管理三维数组
- 如何使用opencv和c++实现三维sift算法
- 如何在三维数组中使用std::map来存储/检索具有特定值的键
- 使用参数在C++中实例化三维数组
- 使用 c++ 在 Cplex 中创建三维 IloIntVarArray
- 使用std::set实现稀疏三维网格时出错
- 三维数组c++中的访问冲突(使用malloc)
- 使用八叉树在GPU中组织三维体积数据
- 使用指针访问三维数组的元素时
- 使用三维矢量的问题
- 使用模具缓冲区绘制三维模型的轮廓
- 使用二维屏幕坐标gluUnproject获取三维模型坐标
- 使用 C++ 和 OpenGL 拖动三维对象
- 使用单个连续内存块为三维数组编制索引
- 使用D3DPT_LINELIST渲染三维线
- 如何为三维矢量中未使用的元素释放内存
- 如何使用OpenGL将体积数据渲染为三维纹理