库到iOS 6的CAPTURE全景

在iOS中显示全景照片有很多方法和库,虽然内置照相机具有全景function,但无法在应用程序中使用它。

有没有我可以用来捕捉全景图像的图书馆?

谢谢!

这些人可能会卖给你一个c ++库的许可证。 他们的代码进入App Store中的精彩Autostich应用程序。

自动侦测基于SIFT图像特征检测。 SIFT和许多其他技术都可以在openCv c ++库中使用 。 预先构build的iOS框架可从该站点获得。

更新

OpenCV有一个Stitcher类和文档堆…

OpenCV拼接pipe道

OpenCV缝合器类

“高级图像拼接器,可以在不知道整个拼接stream水线的情况下使用这个类,但是为了达到更高的拼接稳定性和最终图像的质量,至less要熟悉这个理论(参见拼接pipe线 )“。

更新2

如果您之前没有使用过openCV,那么第一个障碍就是将库编译并安装到您的项目中。 可以很棘手,看到我的问题和答案在这里 (获得openCV的安装和工作), 在这里 (一个例子如何保持C + +代码与Objective-C分开,与示例github项目)。

当你有openCV的工作,这应该是最快捷的方式开始你的查询:

 Stitcher::stitch(InputArray images, OutputArray pano) 

参数:
图像 – input图像。
pano – 最后的全景。

然后加快速度(如果有的话) – 提供感兴趣的区域(指示照片重叠​​的地方)

 Stitcher::stitch(InputArray images, const std::vector<std::vector<Rect>>& rois, OutputArray pano) 

您可以深入到拼接pipe道来优化过程的许多细节,但是这应该足以让您开始。

如果您查看openCV发行版的samples / cpp文件夹,您将看到一些拼接示例, stitching.cppstitching_detailed.cpp

为了提供input图像,您将需要与相机连接,并devise一个体面的用户界面,以帮助用户拍摄正确的图像(例如,具有良好的重叠)。

如果你想看看现有的项目使用openCV, 这是一个android声称做你以后 – 不同的平台,但原则将是相同的(使用java接口到相同的库)。 请特别关注PanoActivity.java 。

更新3
我已经上传了一个非常基本的样本给github 。 我留下深刻的印象,它有多好的工作,没有任何优化或调整。 它几乎和Autostitch应用程序一样在我的github项目中拼接示例照片。

稍后 更新4 我已经做了一个新的示例项目更新使用Swift和Cocoapods