【发布时间】:2014-02-08 13:44:21
【问题描述】:
我们有从一架飞机飞过一个有 50% 重叠区域的飞机拍摄的照片,并且正在使用 OpenCV 拼接算法将它们拼接在一起。这适用于我们的版本 1。在我们的下一次迭代中,我们想要研究一些我可以使用一些 cmets 的额外内容。
目前拼接算法估计相机参数。我们确实有相机参数和大量关于相机角度、位置 (GPS) 等的可用平面信息。与让算法根据匹配的特征点估计所有内容相比,我们能否从这些信息中受益?
这些图像是以高分辨率拍摄的,此时算法会占用相当多的 RAM,这不是什么大问题,因为我们只是在云中启动大型机器。但我想在我们的下一次迭代中从下采样图像中提取单应性并将其应用于稍后的大图像。这也将为我们提供更多选项来操作和可视化原始图像上的其他信息,并能够在原始图像和拼接图像之间来回切换。
如果我们在问题 1 中要拆开拼接算法以放入已知信息,是只是使用 findHomography 方法来获取信息还是在我们实际知道单应性时有更好的替代方法来创建单应性平面位置和角度以及相机参数。
我对opencv有基本的了解,并且对c++编程很好,所以编写我们自己的自定义拼接器不是问题,但是这里的理论有点生疏。
【问题讨论】:
-
您以什么分辨率捕获图像?如果它们足够高,那么您可以对它们进行下采样,但我建议您尽可能避免它(我不是下采样的忠实粉丝)。您可以使用特征点或校准的相机进行拼接(我不确定组合是否是可行的解决方案);不过,您可以使用相机参数来加快单应性功能。
-
5000x7400 像素 (50mb) 原始文件。此时,我想知道花时间了解有关将相机参数用于任何事物或匹配功能的知识是否有意义,只要它有效。但感谢您的评论。但是对图像进行下采样应该没有什么问题。下采样还可以从我假设的图像中去除一些噪点。
-
您的 GPS 信息是否足够准确,可以对图像进行微调?
-
我还没有尝试过,但考虑一下它很可能不会,答案也表明人们也会使用图像功能。
标签: c++ opencv computer-vision