我正在尝试使用OpenCV的solvePnPRansac()
来计算来自对象的已知2D投影的3D姿势。我的值(内在相机参数,模型点(3D),图像点(2D))都是双值。正常solvePnP()
并没有抱怨。
但是,当我尝试使用solvePnPRansac时,会产生错误消息:
断言失败< opoints.depth()== CV_32F>
如何将此功能用于双值? (使用float不能产生预期的结果)
答案 0 :(得分:2)
今天我测试了SolvePnPRAnsac,对于ITERATIVE和P3P,结果看起来是一样的,但是当我使用这些结果来渲染我的对象时,渲染的图像与当前帧非常不同。 在EPnP选项的情况下,平移向量与ITERATIVE和P3P结果非常相似,但旋转与其他两个选项非常不同。然而,我从Epnp得到的渲染图像结果非常好,在实现算法时似乎存在P3P和ITERATIVE的一些问题。