当前位置:   article > 正文

Python HEIC图片转jpg_python heic转jpg

python heic转jpg

pyheif github: https://github.com/carsales/pyheif

Ubuntu Linux Python 3.7 安装 pyheif:

 pip install pyheif pillow
  • 1

转单张图片:

from PIL import Image
import pyheif
heif_file = pyheif.read("1.HEIC")
image = Image.frombytes(
    heif_file.mode,
    heif_file.size,
    heif_file.data,
    "raw",
    heif_file.mode,
    heif_file.stride,
)
# 保存为同名jpg
image.save("1.jpg")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

将某个目录下的所有HEIC文件转为jpg,并删除原jpg:

import os
from PIL import Image
import pyheif

src = r"/mnt/d/download/0207后提交(v1.0.2模型反馈)"


def find_all_files(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            yield os.path.join(root, file)


files = find_all_files(src)
for file in files:
    if file.endswith(".HEIC"):
        print(file)
        # 读取heic文件
        heif_file = pyheif.read(file)
        image = Image.frombytes(
            heif_file.mode,
            heif_file.size,
            heif_file.data,
            "raw",
            heif_file.mode,
            heif_file.stride,
        )
        # 保存为同名jpg
        image.save(file.replace("HEIC", "jpg"))
        # 删除
        os.remove(file)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

上述代码实现了一个将指定目录下所有.HEIC格式的图片文件转换成同名.jpg格式并删除原文件的功能。

首先导入了必要的库:os(用于文件和目录操作)、Pillow中的Image(用于图像处理)、以及pyheif(用于读取HEIC格式的图片文件)。

然后定义了一个函数 find_all_files,该函数使用 os.walk 遍历指定目录下的所有文件和子目录,并通过 yield 逐一返回文件路径。

接下来,通过调用 find_all_files 函数,获取指定目录下的所有文件路径,然后循环处理每个文件。如果文件路径以 .HEIC 结尾,说明该文件是HEIC格式的图片文件,于是就调用 pyheif.read 读取该文件,并使用 Image.frombytes 将读取的HEIC数据转换为Pillow中的Image对象。随后,将Image对象保存为同名.jpg文件,并使用 os.remove 删除原文件。

注意:此代码需要在支持读取HEIC格式的Python环境下运行,否则会出现无法识别.HEIC文件的错误。

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

闽ICP备14008679号