赞
踩
由于黑群晖的不知道什么问题,之前上传的heic图片一直显示转换失败,尝试了好几次后决定用python转转看
首先参考了使用python 批量将 HEIC格式图片转换成JPG或者PNG格式的图片_python heic-CSDN博客发现确实可以转成功,但是之前的exif信息都没了
于是自己做了点修改,让转换后的jpg可以保留exif信息。
此代码只在Linux上有效,因为pyheif好像不支持Windows
- #批量将HEIC格式的图片转换为JPEG或者PNG格式的图片
-
- import os
- import pyheif
- from PIL import Image
- import piexif
-
- file_path = "./input/" #输入的heic格式图片的文件夹
- target_path = "./output/" #输出的jpg格式的图片的文件夹
- form = "jpeg" #设置输出图片格式,需要转换成png时,引号内换成png即可
-
- files = os.listdir(file_path) #返回目录下的所有文件和目录名
- file_num = len(files) #返回文件的数目
-
- for file in files: #遍历文件列表
- img = pyheif.read(file_path+file) #读取HEIC图片文件
- filename=file.split('.')[0] #获取文件名
- img_bytes = Image.frombytes(mode=img.mode, size=img.size, data=img.data) #读取图片参数
- img_bytes.save(target_path+f"{filename}.{form}", format=form) #保存图片为JPEG
- exif = (img.metadata[0])["data"] #获取exif信息
-
- piexif.insert(exif,target_path+filename+".jpeg")
-
- print(f"共转换了{file_num}张照片。")

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。