有没有将全景图转换为小行星的直接公式(立体投影)
Posted
技术标签:
【中文标题】有没有将全景图转换为小行星的直接公式(立体投影)【英文标题】:Is there any direct formula for converting panorama to Tiny planet(StereoGraphic projection) 【发布时间】:2014-11-28 13:07:48 【问题描述】:我正在尝试使用 Opencv 将普通全景图转换为立体投影。 生成的图像就是此链接中显示的图像。
http://www.photographymad.com/pages/view/little-planet-photos-5-simple-steps-to-making-panorama-worlds
在创建这个的步骤中,有一个步骤是在photoshop中从矩形转换为极坐标。可以解释一下d转换背后的逻辑
【问题讨论】:
请出示您的代码 我正在尝试使用opencv中的一些映射公式来编辑每个像素。 【参考方案1】:是的,有。 http://mathworld.wolfram.com/StereographicProjection.html
查看此 wiki 链接:https://en.wikipedia.org/wiki/Equirectangular_projection
将您的 360 全景图想象成球体的等角投影。也就是说,x 对应于经度,范围从左侧的 -180 到中心的 0,然后到右侧的 180 度。 y对应的纬度范围从顶部-90度到中部0度到底部90度。
按照第一个链接中的逆映射公式为每个像素构建一个 map_x、map_y,然后使用 cv2.remap 函数获取图像的立体投影,也就是一个小行星。
由于上面提到的经纬度范围,如果您的图像具有宽度 = 2 * 高度,结果会更好。
我从这篇很棒的博文http://www.semifluid.com/2014/04/20/equirectangular-to-stereographic-projections-little-planets-in-matlab/中学到了所有这些知识
【讨论】:
以上是关于有没有将全景图转换为小行星的直接公式(立体投影)的主要内容,如果未能解决你的问题,请参考以下文章