使用OpenCV拼接航拍图像,并将图像投影到地面

时间:2014-05-19 06:16:16

标签: opencv

有没有人这样做过?

我对OpenCV sticher的问题在于它会使图像变形为全景图,这意味着当图像远离第一张图像时,图像会被拉伸很多。

据我所知,OpenCV还建立了相机位于相同位置的假设。我正在寻求一个小小的指导,如果它只是我需要改变的整理器,或者我还需要放松这个关于相机位置在此之前修复的问题。

我注意到opencv也使用了一个束调整器,是否使用了相机固定的相同假设?

1 个答案:

答案 0 :(得分:0)

航拍图片拼接

用于遥感和数字地理的图像变形程序(例如用于生成地理文件或更常见的orthoimages)依赖于:

  1. 估计相对图像运动(通常使用某些飞机运动传感器,例如惯性测量单位),
  2. 观察到的场景的数字高程模型的可用性。
  3. 这允许估计每个测量像素的地面上的精确投影。 此外,这远远超出了OpenCV内置缝合器所能提供的功能。

    OpenCV的Stitcher

    OpenCV的Stitcher类确实专门用于组装从同一点获取的图像。 这不会那么糟糕,除了函数试图估计一个旋转(更强大)而不是简单的单应性(这是固定相机假设会咬你的地方)。

    然而,它增加了更多功能,可用于创建panoramao,特别是图像缝切割检测部分和重叠区域中的图像混合。

    你能做什么

    对于航空传感器,通常会假设(除了创建正射影像时)摄像机 - 场景距离足够大,以便您可以通过单应性进行帧间变换(特别是如果您的应用不需要非常准确的话)全景)。

    您可以尝试自定义OpenCV的缝合器来替换变换估计值和warper以使用单应性而不是旋转。 我无法猜测它是否会变得困难,因为在大多数情况下,它将包括使用中间变换结果并绕过最终的旋转估计部分。但是,您可能还需要修改包调整器。