我正在开发一个简单的AR应用程序,它可以在摄像机视图上呈现3D图像。我可以在Windows 7中成功实现它。我使用OpenCv的本机POSE估计函数,它在内部使用POSIT算法,以便提供可以应用于3D模态的Translation,Rotation矩阵。
我想在Android应用程序中实现相同的功能。我面临的问题是,POSE估计函数的一个参数是Camera内在和失真参数。我无法找到。 我尝试过研究各种AR平台--AandAR,ARToolKit等。但是在对其源进行逆向工程后,我可以得出关于POSE估计中这些用法的任何结论。
请建议我一个合适的POSE估算方法(如果它涉及相机失真参数,那么我将如何确定它),因此在Android应用程序中通过相机视图进行3D对象渲染
答案 0 :(得分:0)
OpenCV是一个很棒的库,可以为您提供执行相机校准的方法,如果您想知道相机的内部参数是什么,请参阅Camera calibration documentation。其中许多功能也在Android OpenCV library中实现。
最后,您还可以使用Android附带的内部传感器来获取Gravity, Linear Acceleration and Orientation。看到鼓舞人心的talk by David Sachs on how to use Sensor Fusion on Android。
答案 1 :(得分:0)
我成功地为移动设备执行了相机校准。我从各个角度使用移动摄像头点击了棋盘按扣,然后在C ++相机校准代码中使用它们。
然后使用这些内在和外在的相机参数,我试图制作POSE估算模块。
但是,我还没有检查其在实际计划中的可信度。但理论上它的可实现性和代码不会给出任何构建或编译错误。