小编yan*_*nay的帖子

Android 4.3/4.4上的Google PhotoSphere背后的算法

Android 4.3/4.4下的"球体模式"下的相机应用程序可以将来自不同方向的照片拼接成一个球形全景,质量非常好.

结果图:

我要做的是为iPad实现具有完全相同功能的应用程序.

我尝试了两种方法:

OpenCV 2.4.8

OpenCV 2.4.8提供了一个图像拼接管道,乍一看似乎非常有前途.但是,它有两个问题:

  1. 管道处理无序输入照片,据我所知它只使用图像特征匹配来定位照片之间的几何关系,并且当空白照片(例如白墙,蓝天)上的图像特征提取失败时,管道表现不佳.但是,iPad可以提供每张拍摄照片的任意空间方向数据(虽然有噪音),但我不知道如何在OpenCV拼接管道中使用这些数据.

  2. 我无法找到一种生成180x360度全景图的方法,就像PhotoSphere使用此管道一样.向所有方向上的照片馈送管道仅产生具有弯曲图像边界的大型全景图.

PanoTools

我也尝试过PanoTools/Hugin lib,虽然这个lib支持预定义的照片方向,结果非常差且不稳定.此外,我尝试在Google Play上使用Focal(beta)应用,其球体模式也基于PanoTools/Hugin,他们的结果(在球体模式下)似乎并不比我们的好.


我的问题:

  1. 是否有任何库可以执行Google的PhotoSphere所做的工作?由于我不开发商业用途,任何开源库都是可以接受的.
  2. 有没有好的算法(或技术报告,学者论文)?如果有,哪一个最好?
  3. Google如何实现自己的PhotoSphere?任何建议表示赞赏.

algorithm panoramas image-stitching photosphere

16
推荐指数
1
解决办法
5670
查看次数