简 介: 本文给出了将 HEIC 格式的文件转换成 BMP,JPEG 的方法。 HEIC 格式的文件,在相同的图像质量下文件大小只有普通JPEG格式的一半,所以现在被广泛应用在便携式拍照设备中存储拍摄的文件。这样可以在相同的存储介质下扩大存储图片的容量。
关键词: HEIC,JPEG,bmp
01 HEIC格式图片
一、背景介绍
近期收到 ZF 发送过来的智能车竞赛现场文件,其中包括有后缀为 HEIC 格式的图片。所以需要将其转换成可以进一步编辑的 JPEG,BMP 文件。HEIC 后缀的图片软件在相同的图片质量下,文件的大小只有普通 JPEG 文件的一半左右,所以被广泛应用在便携式拍照设备中用于图片的存储。
▲ 图1.1 不同格式后缀的图片文件
二、Python转换图片
在 How to Convert From HEIC to JPG in python on WIndows[1] 给出了应用 pillow_heif 模块进行转换的例子。
1、安装 pillow_heif
在应用之前,首先使用 pip 安装 pillow_heif python 模块。
python - m pip install pillow_heif
经过测试这个过程需要按照好几次,才能够正确吧 pillow_heif 安装在计算机中。
提示: 在安装的时候,需要将 QuickQ 关闭连接才行。
2、转换 HEIC 图片
(1)转换软件
#!/usr/local/bin/python # -*- coding: gbk -*- #****************************** # TEST1.PY -- by Dr. ZhuoQing 2022-09-20 # # Note: #****************************** from headm import * import PIL import pillow_heif fname = r'D:\Temp\heic\IMG_2268.HEIC' heif_file = (fname) image = Image.frombytes( , , , 'raw') image.save(r'd:\temp\1.bmp', format("bmp")) printf("\a") #------------------------------------------------------------ # END OF FILE : TEST1.PY #******************************
(2)转换结果
下面图片是利用上述软件转换后的结果图片:
▲ 图1.2.1 转换的结果文件
利用 Python 进行转换,转速速度大约为 1 秒钟一副图片。
三、批量转换
1、转换代码
下面程序是将目录中的所有 HEIC 格式的文件名转换成 BMP 格式的文件。
#!/usr/local/bin/python # -*- coding: gbk -*- #****************************** # TEST1.PY -- by Dr. ZhuoQing 2022-09-20 # # Note: #****************************** from headm import * import PIL import pillow_heif indir = r'd:\temp\heic' outdir = r'd:\temp' infile = os.listdir(indir) for f in infile: if f.find('HEIC') < 0: continue fname = os.(indir, f) heif_file = (fname) image = Image.frombytes( , , , 'raw') outname = os.(outdir, f.split('.')[0] + '.BMP') image.save(outname, format("bmp")) printf(f) printf('\a') #------------------------------------------------------------ # END OF FILE : TEST1.PY #******************************
2、转换结果
▲ 图1.3.1 转换后的结果
※ 总 结 ※
本文给出了将 HEIC 格式的文件转换成 BMP,JPEG 的方法。 HEIC 格式的文件,在相同的图像质量下文件大小只有普通JPEG格式的一半,所以现在被广泛应用在便携式拍照设备中存储拍摄的文件。这样可以在相同的存储介质下扩大存储图片的容量。
参考资料
[1]
How to Convert From HEIC to JPG in Python on WIndows: