库在iOS 6中捕获全景图

Ida*_*dan 12 iphone panoramas ios ios6

在iOS中有很多方法和库可以显示全景图片,虽然内置摄像头中有全景功能,但是无法在应用程序中使用它.

我可以使用任何库来捕捉全景图像吗?

谢谢!

fou*_*dry 34

这些人可能会向您出售c ++库的许可证.他们的代码进入了App Store中提供的出色的Autostich应用程序.

自动调整基于SIFT图像特征检测.OpenCv c ++库中提供了SIFT和许多其他技术.该站点提供预构建的iOS框架.

更新

OpenCV有一个Stitcher包含大量文档的类......

OpenCV Stitching pipline

OpenCV Stitcher类

"高级图像拼接器.可以在不了解整个拼接管道的情况下使用此类.但是,为了能够实现更高的拼接稳定性和最终图像的质量,建议至少熟悉该理论(参见拼接管道))".

更新2

如果您之前没有使用过openCV,那么第一个障碍是将库编译并安装到您的项目中.可能很棘手,请在这里查看我的问题和答案(安装openCV并运行)和这里(如何将c ++代码与objective-c分开,使用示例github项目).

当你使用openCV时,这应该是开始查询的最快方法:

Stitcher::stitch(InputArray images, OutputArray pano)
Run Code Online (Sandbox Code Playgroud)

参数:
images - 输入图像.
全景 - 最后的全景.

然后加快速度 - 如果你有它们 - 提供感兴趣的区域(指示照片重叠​​的位置)

Stitcher::stitch(InputArray images, const std::vector<std::vector<Rect>>& rois, OutputArray pano)  
Run Code Online (Sandbox Code Playgroud)

您可以深入了解拼接管道以优化流程的许多细节,但这应该足以让您入门.

如果你查看o​​penCV发行版的samples/cpp文件夹,你会看到几个拼接示例,stitching.cppstitching_detailed.cpp.

要提供输入图像,您需要与相机连接并设计一个合适的用户界面,以帮助用户拍摄正确类型的图片(例如,具有良好的重叠).

如果你想使用openCV查看一个现有的项目,这里有一个用于声称做你正在做的事情的android - 不同的平台,但原理将是相同的(使用java接口进入相同的库).特别注意PanoActivity.java.

更新3
我已经将一个非常基本的样本上传到github.如果没有任何优化或调整,我会对它的工作表现给我留下深刻的印象.它在我的github项目中缝合样本照片几乎与Autostitch应用程序一样.

一段时间后更新4 ...我已经更新了一个新的示例项目,用于Swift和Cocoapods