如何在python中以曲率拼接/弯曲/弯曲图像?

时间:2017-10-10 16:02:17

标签: python image opencv image-processing gis

我的图像代表某个区域的高程。但制造它的无人机不一定是直线(尽管图像总是长方形)。我也有每20厘米生成的gps坐标。

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

我还没有设法编写任何代码,因为我不知道图像“翘曲”的名称是什么。请将附加图像作为所需结束状态,将普通水平字母作为开始状态。

enter image description here

1 个答案:

答案 0 :(得分:0)

可能有更好的答案,但我想你可以使用openCV的重映射功能。

过程看起来像这样:

  1. 从您的数据中获取您的变形功能。这将是一个函数,用于将输入图像I中的(x,y)像素值映射到输出图像中的(x,y)像素值O
  2. 计算输出图像中所需的大小以托管整个扭曲图像并创建它
  3. 创建两个地图,mapx和mapy,它们将告诉I中每个像素的像素坐标(在某种意义上,这是翘曲函数的反转)
  4. 应用OpenCV重映射功能(这比简单应用地图更好,因为如果输出图像大于输入,它会进行插值)
  5. 根据您的翘曲功能,它可能非常简单,或几乎不可能应用此技术。

    您可以在此处找到具有超级简单变形函数的示例:https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/remap/remap.html

    在查看相机图像的失真和纠正时,可以在OpenCV doc和代码中查看更复杂的示例。