python heic後綴圖片文件轉換成jpg格式

直接上代碼

heic_to_jpg.py

import subprocess
import os
import io
import whatimage
import pyheif
import traceback
from PIL import Image


def decodeImage(bytesIo):
    try:
        fmt = whatimage.identify_image(bytesIo)
        # print('fmt = ', fmt)
        if fmt in ['heic']:
            i = pyheif.read_heif(bytesIo)
            # print('i = ', i)
            # print('i.metadata = ', i.metadata)
            pi = Image.frombytes(mode=i.mode, size=i.size, data=i.data)
            # print('pi = ', pi)
            pi.save('heeh.jpg', format="jpeg")
    except:
        traceback.print_exc()


def read_image_file_rb(file_path):
    with open(file_path, 'rb') as f:
        file_data = f.read()
    return file_data


if __name__ == "__main__":
    file_path = './test_image.HEIC'
    print('file_path = ', file_path)

    data = read_image_file_rb(file_path)
    # print('data = ', data)
    decodeImage(data)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章