当前位置:   article > 正文

使用python把heic照片转换为jpg并保留exif信息_python读取heic图片里的exif信息

python读取heic图片里的exif信息

由于黑群晖的不知道什么问题,之前上传的heic图片一直显示转换失败,尝试了好几次后决定用python转转看

首先参考了使用python 批量将 HEIC格式图片转换成JPG或者PNG格式的图片_python heic-CSDN博客发现确实可以转成功,但是之前的exif信息都没了

于是自己做了点修改,让转换后的jpg可以保留exif信息。

此代码只在Linux上有效,因为pyheif好像不支持Windows

  1. #批量将HEIC格式的图片转换为JPEG或者PNG格式的图片
  2. import os
  3. import pyheif
  4. from PIL import Image
  5. import piexif
  6. file_path = "./input/" #输入的heic格式图片的文件夹
  7. target_path = "./output/" #输出的jpg格式的图片的文件夹
  8. form = "jpeg" #设置输出图片格式,需要转换成png时,引号内换成png即可
  9. files = os.listdir(file_path) #返回目录下的所有文件和目录名
  10. file_num = len(files) #返回文件的数目
  11. for file in files: #遍历文件列表
  12. img = pyheif.read(file_path+file) #读取HEIC图片文件
  13. filename=file.split('.')[0] #获取文件名
  14. img_bytes = Image.frombytes(mode=img.mode, size=img.size, data=img.data) #读取图片参数
  15. img_bytes.save(target_path+f"{filename}.{form}", format=form) #保存图片为JPEG
  16. exif = (img.metadata[0])["data"] #获取exif信息
  17. piexif.insert(exif,target_path+filename+".jpeg")
  18. print(f"共转换了{file_num}张照片。")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/924220
推荐阅读
相关标签
  

闽ICP备14008679号