首页 > 解决方案 > 在GDAL中复制光栅exif

问题描述

我有两个大小相同的图像 - 第一个是无人机的图像,第二个是面具。我需要减去两个图像,当然还要将原始图像中的 exif 数据转换为结果图像。可以在 gdal 或 rasterio 中使用吗?谢谢。

标签: rastergdalexifrasterio

解决方案


根据我使用 DJI 无人机的经验,航拍图像通常以 JPEG 格式捕获。元数据可以通过 GDAL 访问,如下所示:

from osgeo import gdal 
im = gdal.Open('ImageName.jpg', 0)
exif = im.GetMetadata()

这将返回一个包含 EXIF 元数据的 Python 字典。要将元数据复制到新图像,您只需执行以下操作:

outimg = im.GetDriver().CreateCopy('NewImageName.jpg', im, callback=gdal.TermProgress_nocb)
outimg.SetMetadata(exif)
del im, outimg, exif  # close datasets to commit changes to disk

然后,您可以根据需要编辑新创建的图像(例如,将像素值乘以二进制掩码)。


推荐阅读