我正在开发一个简单的AR应用程序,渲染相机视图顶部的3D图像。我在Windows7中成功地实现了这一点,我使用了OpenCv的本地姿态估计函数,该函数内部使用了POSIT算法,从而得到了可以应用于3D模型的平移、旋转矩阵。
我想在Android应用程序中实现相同的功能。我面临的问题是,姿态估计函数的参数之一是相机的固有参数和失真参数。我还不能找出来。我尝试研究了各种AR平台-- AandAR,ARToolKit等,但在对它们的源代码进行逆向工程后,我可以得出任何关于它们在姿态估计中的用法的结论。
请建议我一种合适的姿态估计方法(如果涉及相机失真参数,那么我如何确定它),从而在Android应用程序中通过相机视图渲染3D对象
发布于 2013-08-13 08:34:57
OpenCV是一个很棒的库,它为你提供了执行相机校准的方法,如果你想知道相机的内部参数是什么,请参阅Camera calibration documentation。其中许多功能也是在Android OpenCV library中实现的。
最后,你也可以使用安卓自带的内部传感器来获取Gravity, Linear Acceleration and Orientation。看看这个令人振奋的talk by David Sachs on how to use Sensor Fusion on Android。
发布于 2013-08-19 13:52:41
我成功地为移动设备执行了相机校准。我使用移动摄像头从不同的角度点击棋盘快照,然后在C++相机校准代码中使用它们。
然后使用这些内部和外部相机参数,我试图制作姿态估计模块。
然而,我还没有通过一个实际的程序来检查它的可信度。但从理论上讲,它是可以实现的,并且代码不会给出任何构建或编译错误。
https://stackoverflow.com/questions/16009339
复制相似问题