有没有办法知道手机的确切方向?

时间:2020-10-18 17:10:06

标签: android android-camera

通常,如今,典型的智能手机上都有指南针和加速度计。那么,利用这些传感器提供的信息,我们可以重新创建拍摄照片的整个方向吗? 我的意思是,就像您打开手机上的指南针应用程序一样,它首先会说明您的观看方向(link),您的手机在正面方向上的抬起或倾斜的程度(我不知道该如何在更好的方法(link),以及标题中有多少(link)。它涵盖3个自由度(我猜)吗? 是否有足够的信息来重建手机的方向?

如果您认为这不是提出此类问题的合适地点,您能否评论我应该在哪里提出这个问题?

1 个答案:

答案 0 :(得分:0)

记录传感器值,可以恢复拍摄照片的手机方向。一些基本的XR应用程序(例如Google Street View)实际上就是这样做的。

设备旋转

有一个方便的辅助功能SensorManager.getRotationMatrix正是用于此目的。给定磁场和重力传感器值,您可以获得设备旋转矩阵(=完整的正交3d基向量集),足以使您随后再现电话方向。

相机方向

在某些情况下,由于屏幕方向的变化(人像或风景,锁定或自动旋转),相机的向上方向可能与设备的向上方向不同。因此,如果您处理原始摄像机输入,则可能还需要记录屏幕方向。参见Display.getRotation