Matlab 正交校正算法;航空影像拼接

Matlab 正交校正算法;航空影像拼接,matlab,opencv,image-processing,computer-vision,orthographic,Matlab,Opencv,Image Processing,Computer Vision,Orthographic,我正在研究收集农场航空图像(以垂直方式从直升机上收集的图像)的方法,我想将它们缝合在一起,以构建被覆盖区域的整个照片,然后我想运行分析。 我假设图像将带有[纬度,经度]坐标,以帮助我确定放置图像的点 为了理解这项技术存在的问题,我尝试手动缝合从手机上拍摄的后院某个样本区域的照片。我的经验是,边缘通常看起来不一样,因为它们被摄像机从不同的侧面或角度看到。我猜这是图像中的一种失真,可能通过正交校正(不完全确定)来修复。 我很快创建了下面的图片来帮助解释我的问题 我向您提出的问题: 用于进行正交校正

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

为了理解这项技术存在的问题,我尝试手动缝合从手机上拍摄的后院某个样本区域的照片。我的经验是,边缘通常看起来不一样,因为它们被摄像机从不同的侧面或角度看到。我猜这是图像中的一种失真,可能通过正交校正(不完全确定)来修复。 我很快创建了下面的图片来帮助解释我的问题

我向您提出的问题:

用于进行正交校正的算法/技术有哪些

什么工具最适合我的需要:opencv、processing、matlab或任何其他可以轻松帮助纠正图像和创建马赛克照片的工具

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

谢谢大家!

“用于进行正交校正的算法/技术有哪些

如果您想对这些技术有一个很好的概述,那么Hartley&Zisserman的《计算机视觉中的多视图几何》一书可能是一个很好的起点:

安德鲁·齐瑟曼(Andrew Zisserman)在www.robots.ox.ac.uk/~az/tutorials/上也提供了一些教程,这些教程可能更容易访问/让您更容易找到想要使用的特定技术

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


OpenCV有相当多的可用工具-让我们先来看看。也有很多工具可用于纠正失真。但是,它不一定是您使用的工具,还有其他工具!

图像拼接通常假设所有照片的相机中心都是固定的,并使用同形文字来转换图像使图像看起来连续。当固定摄影机中心假设不严格有效时,由于场景的3D效果,可能会出现瑕疵/扭曲。如果摄影机中心相对于场景的浮雕移动了一小段距离,“无缝图像混合”技术可能足以模糊扭曲

在更极端的情况下,需要进行正射校正。正射校正是将从给定透视摄影机观察到的图像转换为正交()通常是垂直视角。正交特性很有趣,因为它使多幅图像的拼接更加容易。以下来自Wikipedia的图片特别清晰(左侧为正交或定向投影,右侧为透视或中心投影):

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

另一种方法是,如果在不同位置采集了两幅图像,可以尝试使用立体匹配技术之一进行三维重建,然后通过映射第三台正交和垂直摄影机看到的两幅图像来生成正射校正图像


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

首先,校正是一种扭曲,但不是您需要的扭曲。在立体声中使用定期校正,以确保匹配点位于同一行上-而不是您的情况。Ortho-rectification将透视投影扭曲为正交投影-同样不是您的情况。不仅您缺少用于此扭曲计算的3D模型,而且您也不需要它,因为您的透视扭曲可以忽略不计,并且您已经拥有非常接近正交投影的图像(即,与观察距离相比,对象的大小较小,透视效果较小)

您在对齐两幅图像时遇到的问题源于拍摄之间的小的摄影机旋转。要开始解决此问题,您需要确保图像实际重叠30%。要了解此问题,请参阅本手册第9章


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

可能会在中提出此问题。例如:此问题似乎与主题无关,因为它涉及与编程无关的技术知识。例如,在OpenCV中有一个关于图像校正的问题,其中有一些很好的链接:图像校正和正交校正数字高程模型是两种不同的东西。非常正确,感谢您的澄清。现在,如果有足够的图像数据,可以使用诸如运动结构(SfM)等技术获取DEM(数字高程模型)