从python中的重叠图像创建马赛克

问题描述

我有从无人机成像系统提供的图像集。单独的图像确实重叠约70%。每个图像都是tif文件,我可以从中读取GPS位置(每个图像一个位置)。我要对图像进行的操作是将它们合并到同一tif文件中。换句话说,我想从所有可用图像中创建马赛克。

此外,我实际上有5个图像集。每个代表单独的光谱带。因此,在,我想创建一个由5个波段组成的马赛克。

图片上更直观地显示了对单独图像集的马赛克处理: https://i.stack.imgur.com/41gZm.png

我想象这样的空白工作流:

1。)从第i个图像集中的重叠图像创建马赛克A_i,其中每个光谱带i = 1..5

2。)从所有A_i马赛克创建最终的马赛克B,其中每个光谱带的i = 1..5

我想知道创建这种马赛克的最佳方法是什么。我听说过dgalRasterio,pygis等,但我不知道哪个库最合适,功能最强大且最直观。最后,我想用python实现所有功能。最好在库中,但是python中的命令行调用也可以完成这项工作。

我希望我清楚地解释了我的问题。欢迎任何帮助和建议。实例将不胜感激。

解决方法

您可以尝试使用PIL连接图像。一个例子是:

from PIL import Image

im1 = Image.open(image_file1)
im2 = Image.open(image_file2)

newIm = Image.new('RGB',(im1.width + im2.width,im1.height))
dst.paste(im1,(0,0))
dst.paste(im2,(im1.width,0))

如果图像重叠,则必须调整粘贴位置。 希望对您的问题有所帮助。