在 iOS 6 中捕获全景的库 [关闭]

Posted

技术标签:

【中文标题】在 iOS 6 中捕获全景的库 [关闭]【英文标题】:libraries to CAPTURE panorama in iOS 6 [closed] 【发布时间】:2012-12-28 00:03:29 【问题描述】:

ios中有很多方法和库可以显示全景图片,虽然内置相机中有全景功能,但无法在应用程序中使用它。

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

谢谢!

【问题讨论】:

【参考方案1】:

These people 可能会向您出售 c++ 库的许可证。他们的代码进入了 App Store 中出色的 Autostich 应用程序。

Autostitch 基于 SIFT 图像特征检测。 openCv c++ library 中提供了 SIFT 和许多其他技术。该站点提供了一个预构建的 iOS 框架。

更新

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

OpenCV Stitching pipline

OpenCV Stitcher class

"高级图像拼接器。可以在不了解整个拼接流水线的情况下使用该类。但是,为了能够获得更高的拼接稳定性和最终图像的质量,建议至少熟悉理论(见Stitching pipline)。”

更新 2

如果您以前没有使用过 openCV,第一个障碍是编译该库并将其安装到您的项目中。可能很棘手,请参阅我的问题和答案here(安装并运行 openCV)和here(如何将 c++ 代码与 Objective-c 分开的示例,带有示例 github 项目)。

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

Stitcher::stitch(InputArray images, OutputArray pano)

参数: 图像 - 输入图像。 pano – 最后的全景。

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

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

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

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

为了提供输入图像,您需要连接相机并设计一个体面的用户界面来帮助用户拍摄正确类型的照片(例如具有良好的重叠)。

如果您想查看使用 openCV 的现有项目,here is one for android 声称可以满足您的需求 - 不同的平台,但原理是相同的(使用 Java 接口进入相同的库)。尤其是PanoActivity.java。

更新 3 我已经上传了a very basic sample to github。我对它的出色工作印象深刻,没有任何优化或调整。它在我的 github 项目中缝合示例照片,几乎与 Autostitch 应用程序一样。

更新 4 一段时间后...我创建了一个新的示例项目updated for use with Swift and Cocoapods

【讨论】:

这些人不太合作。还有其他建议吗? @Idan,你想潜多深?看看我更新的答案... 最深的。对示例应用程序/代码的引用是我希望得到的最好的东西。我敢肯定以前有人这样做过。 @Idan,我在 github 上发布了一些示例代码的链接。你的赏金期结束了,也许你应该考虑奖励它(也许接受这个答案,我认为它很全面!) @jacks4jokers - 我想你是在 github 上提出 this issue 的同一个人。今天晚些时候我将对此进行一些深入研究,看看我是否能弄清楚发生了什么。感谢您的关注。

以上是关于在 iOS 6 中捕获全景的库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中捕获音频输出?

降噪库? [关闭]

如何在后台捕获由推送通知触发的 iOS 位置?

Wireshark 如何捕获网络流量数据包

iOS异常捕获

Cloud Run 中有很多“未捕获的信号:6”错误