如何在python中使用曲率拼接/弯曲/曲线图像?

问题描述:

我有一个表示某个区域的高程的图像。但制作它的无人机并不一定是直线排列的(尽管图像总是长方形的)。我也有每20厘米的方式产生的GPS坐标。如何在python中使用曲率拼接/弯曲/曲线图像?

如何“弯曲”这个矩形图像(曲线/马赛克),以便它代表无人机实际经历的弯曲路径? (在Python中)

我还没有设法写任何代码,因为我不知道图像的这个“变形”的名称是什么。请将附加图像作为想要的结束状态,并将正常的水平字母作为开始状态。

enter image description here

+0

请参阅[如何创建最小,完整和可验证示例](https://*.com/help/mcve)。 – randomir

+0

@randomir请参阅编辑,我不知道这个或任何相关的scipy/PIL函数的名称会使这成为可能 –

+0

图像应该表明无人机经过两座小山,或者沿着一条弯曲的河流。 –

有可能是一个更好的答案,但我想你可以使用的OpenCV的重新映射功能这一点。

过程看起来就像是:

  1. 从您的数据,让您的扭曲作用。这将是一个函数,它将来自输入图像I的(x,y)像素值映射到来自输出图像的(x,y)像素值O
  2. 计算输出图像中所需的大小以托管整个变形图像,并创建它
  3. 创建两个映射,mapx和mapy,它将告诉I中像素坐标为0的每个像素(也就是说,从某种意义上说,与翘曲函数相反)
  4. 应用OpenCV重映射函数比简单地应用地图要好,因为如果输出图像大于输入,它会进行插值)

根据您的翘曲函数,它可能非常简单le,或者几乎不可能应用这种技术。

您可以在这里一个超级简单的扭曲函数找到一个例子:https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/remap/remap.html

更复杂的例子可以在OpenCV的文档和代码看着失真和相机图像的整改时看。