<分区>
在 iOS 中有很多显示全景图片的方法和库,虽然内置相机中有全景功能,但无法在应用程序中使用它。
有没有我可以用来捕捉全景图像的库?
谢谢!
<分区>
在 iOS 中有很多显示全景图片的方法和库,虽然内置相机中有全景功能,但无法在应用程序中使用它。
有没有我可以用来捕捉全景图像的库?
谢谢!
最佳答案
These people可能会向您出售 C++ 库的许可证。他们的代码进入了 App Store 中提供的出色的 Autostich 应用程序。
自动拼接基于 SIFT 图像特征检测。 openCv c++ library 中提供了 SIFT 和许多其他技术.该站点提供了预构建的 iOS 框架。
更新
OpenCV 有一个带有大量文档的 Stitcher
类...
"High level image stitcher. It’s possible to use this class without being aware of the entire stitching pipeline. However, to be able to achieve higher stitching stability and quality of the final images at least being familiar with the theory is recommended (see Stitching pipline )."
更新 2
如果您以前没有使用过 openCV,那么第一个障碍就是将库编译并安装到您的项目中。可以取巧,看我的问答here (安装并运行 openCV)和 here (一个示例如何将 c++ 代码与 objective-c 分开,示例 github 项目)。
当您使用 openCV 时,这应该是开始查询的最快方式:
Stitcher::stitch(InputArray images, OutputArray pano)
参数:
图像——输入图像。
全景——最终全景。
然后加快它的速度 - 如果你有它们 - 提供感兴趣的矩形区域(指示照片重叠的地方)
Stitcher::stitch(InputArray images, const std::vector<std::vector<Rect>>& rois, OutputArray pano)
您可以深入研究拼接管道以优化过程的许多细节,但这应该足以让您入门。
如果您查看 openCV 发行版的 samples/cpp 文件夹,您会看到几个拼接示例,stitching.cpp
和 stitching_detailed.cpp
.
要提供输入图像,您需要连接相机并设计一个体面的用户界面来帮助用户拍摄正确类型的照片(例如,具有良好的重叠)。
如果您想使用 openCV 查看现有项目,here is one for android声称做你想做的事 - 不同的平台,但原则是相同的(在相同的库中使用 java 接口(interface))。特别看看PanoActivity.java .
更新 3
我上传了a very basic sample to github .在没有任何优化或调整的情况下,它的出色表现给我留下了深刻的印象。它拼接我的 github 项目中的示例照片几乎和 Autostitch 应用程序一样好。
更新 4 一段时间后... 我做了一个新的示例项目 updated for use with Swift and Cocoapods
关于iphone - 在 iOS 6 中捕捉全景图的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14062932/