gpt4 book ai didi

python - 带有元数据的 HEIC 到 JPEG 转换

转载 作者:行者123 更新时间:2023-12-04 08:30:34 33 4
gpt4 key购买 nike

我正在尝试在 jpeg 中转换 heic 文件,同时导入所有元数据(如 gps 信息和其他内容),不幸的是,转换下面的代码是可以的,但没有元数据存储在创建的 jpeg 文件中。
任何人都可以描述我需要在转换方法中添加什么?

heif_file = pyheif.read("/transito/126APPLE_IMG_6272.HEIC")
image = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
"raw",
heif_file.mode,
heif_file.stride,
)
image.save("/transito/126APPLE_IMG_6272.JPEG", "JPEG")

最佳答案

谢谢,我找到了一个解决方案,我希望可以帮助其他人:

# Open the file
heif_file = pyheif.read(file_path_heic)

# Creation of image
image = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
"raw",
heif_file.mode,
heif_file.stride,
)
# Retrive the metadata
for metadata in heif_file.metadata or []:
if metadata['type'] == 'Exif':
exif_dict = piexif.load(metadata['data'])

# PIL rotates the image according to exif info, so it's necessary to remove the orientation tag otherwise the image will be rotated again (1° time from PIL, 2° from viewer).
exif_dict['0th'][274] = 0
exif_bytes = piexif.dump(exif_dict)
image.save(file_path_jpeg, "JPEG", exif=exif_bytes)

关于python - 带有元数据的 HEIC 到 JPEG 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65045644/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com