3

我正在研究收集农场航拍图像(从直升机以垂直方式收集的图像)的方法,我想将它们拼接在一起以构建所覆盖区域的整个照片,然后我想运行分析。我假设图像将带有 [纬度,经度] 坐标,以帮助我确定放置图像的位置。

为了了解这项技术的问题,我尝试手动拼接从我的手机拍摄的我后院某个样本区域的照片。我体验到边缘通常看起来不一样,因为相机从不同的侧面或角度看到它们。我猜这是图像的失真,可能会通过正射校正(不完全确定)来修复。我快速创建了以下图片来帮助解释我的问题。

在此处输入图像描述

我对你的问题:

用于进行正射校正的算法/技术是什么?

哪些工具最适合我的需求:opencv、处理或 matlab 或任何其他可以轻松帮助校正图像和创建马赛克照片的工具?

在进行航空影像拼接和分析时还应考虑哪些其他问题?

谢谢!

4

3 回答 3

5

图像拼接通常假设相机中心在所有照片上都是固定的,并使用单应性来转换图像,使它们看起来是连续的。当固定相机中心假设不严格有效时,由于场景的 3D,可能会出现伪影/失真。如果相机中心与场景的浮雕相比移动了一小段距离,“无缝图像混合”技术可能足以模糊失真。

在更极端的情况下,需要进行正射校正。正射校正维基百科条目)是将给定透视相机观察到的图像转换为正交维基百科条目)并且通常是垂直视点的任务。正交属性很有趣,因为它使多个图像的拼接变得更加容易。下面这张来自维基百科的图特别清晰(左边是正交或定向投影,右边是透视或中心投影):

在此处输入图像描述

正射校正任务通常需要场景的 3D 模型,以便将透视相机观察到的强度适当地映射到它们相对于正交相机的位置。在航空/卫星图像的背景下,数字高程模型 (DEM) 通常用于此目的,但通常具有不包括人造结构(仅地球地形)的严重缺点。NASA 免费提供SRTM 任务获得的 DEM (DEM 链接)。

另一种方法,如果您在不同位置获取了两个图像,您可以尝试使用其中一种立体匹配技术进行 3D 重建,然后通过映射第三个正射图像所看到的两个图像来生成正射校正图像垂直相机。

为此,OpenCV 有几个有趣的功能(例如立体重建、图像映射功能等),可能更适合密集使用。Matlab 可能也有有趣的功能,可能更适合快速测试。

于 2014-03-05T09:02:00.797 回答
4

首先,整改是某种扭曲,但不是你需要的。立体声中使用常规校正以确保匹配点位于同一行 - 而不是您的情况。正射校正将透视投影扭曲为正射投影 - 再次不是您的情况。不仅您缺少用于计算这种翘曲的 3D 模型,而且您也不需要它,因为您的透视失真可以忽略不计,并且您已经拥有非常接近正交的图像(也就是说,与观看距离透视相比,对象的大小很小影响很小)。

您对齐两个图像的问题源于镜头之间的小相机旋转。要开始解决问题,您需要确保您的图像实际上重叠了 30%。要了解这一点,请参阅本书的第 9 章。

您需要查看使用单应性映射两个图像的常规图像拼接技术。请注意,这样做假定图像基本上是平坦的。要查找单应性,您可以首先手动选择一张图像中的 4 个点和另一张图像中的 4 个匹配点,然后运行 ​​openCV 函数 findHomography()。请注意,找到匹配项需要重叠(在您的图片中没有重叠)。warpPerspective() 可以在找到同形体后为您扭曲图像。

于 2014-03-05T22:13:52.840 回答
1

“用于进行正射校正的算法/技术是什么?

如果您想对这些技术有一个很好的概述,那么 Hartley & Zisserman 的《计算机视觉中的多视图几何》一书可能是一个不错的起点:http ://www.robots.ox.ac.uk:5000/~ vgg/hzbook/

Andrew Zisserman 还在 www.robots.ox.ac.uk/~az/tutorials/ 上提供了一些教程,这些教程可能更易于访问/使您更容易找到您想要使用的特定技术。

“什么工具最适合我的需求:opencv、处理或 matlab 或任何其他可以轻松帮助校正图像和创建马赛克照片的工具?”

OpenCV 有很多可用的工具 - 看看初学者的图像拼接。还有很多可用于校正失真。但是,它不一定是您使用的工具,还有其他工具!

于 2014-03-05T08:37:11.303 回答