【问题标题】:Python-Retain both geocoding and orientation while image save/overwitePython-在图像保存/覆盖时同时保留地理编码和方向
【发布时间】:2019-08-29 11:49:23
【问题描述】:

我正在使用 PIL 来增强我的图像。在保存时,我需要将地理坐标和方向角写入增强图像的标题。到目前为止,我还没有找到一种写方位角的方法。

我可以在阅读Preserve exif data of image with PIL when resize(create thumbnail) 后使用 piexif 写出坐标。但这似乎还不足以编写方向,或者我可能遗漏了一些东西。

    im = Image.open(direc + '\\' + filename)
    exif_dict = piexif.load(im.info["exif"])
    exif_bytes = piexif.dump(exif_dict)

    enhancer = ImageEnhance.Brightness(im)
    enhanced_im = enhancer.enhance(1.8)
    enhanced_im.save(s + 'enhanced\\' + directory + "\e_" + filename, "JPEG", exif=exif_bytes)

当我打印我的 exif_dict 时,我看到两个主键 0th 和 Exif(每个键下都有合理的键值对和很多 \x00\x00\x00q\x00\x00\x00g\x00\x00\x00r\ x00\x00\x00l\x00\x00\x0...这样的字符即使在字典的括号结束后仍然存在。请指教。

【问题讨论】:

    标签: python python-imaging-library orientation geocode


    【解决方案1】:

    您可以为每个图像编写一个世界文件:https://en.wikipedia.org/wiki/World_file

    创建一个文本文件,计算值,将它们写入文本文件并在文件名中添加相应的扩展名。

    编辑:如果您需要更改 exif 值,我建议您查看 exif 数据中已经存在的标签并更改/添加方向标签 (How to modify EXIF data in python)。 如果你在 google 上搜索 exif 方向标签,你可以找到值的解释。在此页面https://sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html 上也对它们进行了解释。 此页面还解释了如何更改方向https://magnushoff.com/jpeg-orientation.html

    希望对您有所帮助。

    【讨论】:

    • 这还不够,因为我需要将图像读入 Bundle Block 调整软件,它只访问 Exif 以获得必要的信息。
    • @AvishekDutta 有帮助吗?
    • 是的。它可以解决将所有坐标和方向写入 csv 的方法,然后在没有方向的情况下读取增强图像,仅使用标头中的任何转储转储以及 csv。重复的信息不会产生任何冲突,并且软件可以正确地从 csv 读取方向。谢谢!
    猜你喜欢
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 2011-04-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多