我就廢話不多說了,直接上代碼
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)
ps:win10不支持,只有l(wèi)inux和macos可以成功的安裝pyheif包,win10目前支持不太好
參考鏈接:
https://stackoverflow.com/questions/54395735/how-to-work-with-heic-image-file-types-in-python
https://pypi.org/project/pyheif/
補(bǔ)充:怎么將HEIC圖像格式轉(zhuǎn)換成JPG或PNG?
想打開heic文件,首先要做的是把圖片格式轉(zhuǎn)換成電腦可以查看的,電腦可以查看的形式也并非很單一,比如jpg/bmp/png,這些都是比較常用的格式,首先heic圖片是蘋果手機(jī)獨(dú)有的圖片格式,電腦上或者其他設(shè)備是無法打開,需要將heic圖片進(jìn)行轉(zhuǎn)換成jpg/bmp/png等電腦或其他設(shè)備可以的打開的格式,
那今天就學(xué)習(xí)一下heic文件怎么轉(zhuǎn)換的,將蘋果的手機(jī)中的照片存到電腦上的某個文件夾,使用"heic圖片轉(zhuǎn)換精靈"進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換步驟如下:
支持操作系統(tǒng) widowns vista/ win7/win8 / win10
heic圖片轉(zhuǎn)換精靈,下載地址和安裝方法:http://www.ghostheic.com/
轉(zhuǎn)換步驟如下:
1.第一步,選擇輸出格式,支持jpg,png,bmp格式,默認(rèn)jpg ,選擇圖像質(zhì)量,選擇的數(shù)值越高,轉(zhuǎn)換后的圖像質(zhì)量也越高,同時文件也會變大,若添加的heic圖片很多,支持批量添加,導(dǎo)入文件夾,列表會顯示添加的文件名,大小,默認(rèn)軟件是勾選文件的,只需點(diǎn)擊開始轉(zhuǎn)換,等待幾秒鐘heic轉(zhuǎn)換完成,點(diǎn)擊打開目錄轉(zhuǎn)換后的文件就在打開的目錄下.
另使用“heic圖片轉(zhuǎn)換精靈”,若需要保存圖片原有信息,轉(zhuǎn)換可勾選保存exif信息,這樣轉(zhuǎn)換后原圖信息都可以保存
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 一文秒懂python讀寫csv xml json文件各種騷操作
- 使用python把json文件轉(zhuǎn)換為csv文件
- python 如何將office文件轉(zhuǎn)換為PDF
- python實現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作
- python實現(xiàn)批量nii文件轉(zhuǎn)換為png圖像
- python把ipynb文件轉(zhuǎn)換成pdf文件過程詳解
- Python中py文件轉(zhuǎn)換成exe可執(zhí)行文件的方法
- python實現(xiàn)Excel文件轉(zhuǎn)換為TXT文件
- Python批量將csv文件轉(zhuǎn)化成xml文件的實例