我正在为wp8开发一个增强现实应用程序,需要知道相机视场,以结合3d渲染模型和相机流准确考虑距离。有没有人知道如何通过编程获得摄像头的视场,或者甚至获得任何硬件摄像头的信息,例如传感器的大小和焦距?
发布于 2013-05-15 21:34:00
要获得相机FOV,您可以校准相机以找到其内部参数(焦距、主点、倾斜因子和可选的失真参数等)。
最受欢迎的库是OpenCV:
OpenCV Calibration example
使用相机手机拍摄一些屏幕截图(最好使用与相机预览模式相同的分辨率),并将此数据集导入PC以在其上运行校准过程。
Google或在stackoverflow上查看有关该主题的其他教程,关键词:相机校准,opencv。
之后,有一个简单的公式来转换从焦距到FOV (针孔相机模型)。为了提高AR应用程序的精度,最好将这个透视矩阵(内部参数)从OpenCV格式转换为OpenGL透视格式(或DirectX)。仅使用FOV会在配准过程中引入错误(例如,理想中心与测量的主点、偏差因子等)。
https://stackoverflow.com/questions/16526922
复制相似问题