heic格式图片转化为png格式图片

日常记录,iPhone拍出的图片导入到Windows电脑上打不开,无法查看,需要转化为png或者jpg格式

使用python实现批量转化

需要导入imageio、Pillow第三方库

pip install pillow
pip install imageio

python批量处理脚本

import os
import shutil
import imageio
from PIL import Image
from pathlib import Path


def convert_heic_to_png(src_dir, dst_dir):
    """
    将heic格式图片转化为png图片
    :param src_dir: 需要转化的图片路径(文件夹)
    :param dst_dir: 转化后的图片路径(文件夹)
    :return:
    """
    os.makedirs(dst_dir, exist_ok=True)
    for filename in os.listdir(src_dir):
        src_path = os.path.join(src_dir, filename)
        if os.path.isfile(src_path):
            name, ext = os.path.splitext(filename)
            ext = ext.lower()
            if ext == ".heic":
                try:
                    # 使用imageio读取HEIC文件
                    reader = imageio.get_reader(src_path)
                    for img in reader:
                        Image.fromarray(img).save(os.path.join(dst_dir, f"{name}.png"))
                    print(f"Converted {filename} to PNG")
                except Exception as e:
                    print(f"Error converting {filename}: {e}")
            else:
                shutil.copy2(src_path, dst_dir)
                print(f"复制 {filename} 到 {dst_dir}")
    return print("格式转化已完成,请打开%s查看" % dst_dir)


if __name__ == '__main__':
    src_dir_path = r"E:\heic格式文件"
    dst_dir_path = r"E:\png格式图片"
    convert_heic_to_png(src_dir_path, dst_dir_path)

 

posted @ 2025-03-28 10:22  CAI_11  阅读(35)  评论(0)    收藏  举报