我工作的一个增强现实标记检测程序,使用OpenCV的和我得到两个不同的旋转和平移的值为相同的标记。相同标记的位置,不同的旋转和平移矩阵 - OpenCV的
当相机略微移动时,3D模型会自动在这些状态之间切换,而不受我的控制。以上两种情况的屏幕截图添加如下。我希望Image#1是正确的。如何以及在哪里纠正?
我跟着How to use an OpenCV rotation and translation vector with OpenGL ES in Android?创建了OpenGL的投影矩阵。 例如:
// code to convert rotation, translation vector
glLoadMatrixf(ConvertedProjMatrix);
glColor3f(0,1,1) ;
glutSolidTeapot(50.0f);
图像#1
图片#2
附加
我会很高兴,如果有人提出我的方式做茶在标记平面上放置坐标。我知道我必须编辑旋转矩阵。但是,这样做的最好方法是什么?