考虑使用Google街景全景图。如何将水平视场(FOV)转换为垂直视场,反之亦然?
首先,我尝试了这个公式,假设投影是球形的:
VFOW = 2 * arctg(h/w * tg(HFOV / 2))
其中h和w - 是全景图像的高度和宽度,VFOW和HFOV是垂直和水平FOV。但是这个公式给出了非常不准确的结果。正如文件所述, Street View Service Google街景使用了equirectangular投影。 我需要您帮助推导出此案例的转换公式。
为什么我需要这个?我在创建iOS应用程序时出现了问题。在此应用程序中,向用户呈现一些静态全景预览。当用户单击此类预览时,将打开GMSPanoramaView。 问题是要获得与GMSPanoramaView显示的全景图完全相同的预览。
Google Street View Image API允许指定水平FOV。虽然GMSPanoramaCamera FOV是:
包含在视图中的较大尺寸(宽度或高度)
我的应用支持纵向方向。在这种情况下,较大的尺寸是高度。
答案 0 :(得分:0)
有问题的公式是可以的。