将 HEIC 格式图像文件转换成 JPEG,BMP 格式
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将 HEIC 格式图像文件转换成 JPEG,BMP 格式相关的知识,希望对你有一定的参考价值。
简 介: 本文给出了将 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 给出了应用 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 = pillow_heif.read_heif(fname)
image = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
'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.path.join(indir, f)
heif_file = pillow_heif.read_heif(fname)
image = Image.frombytes(
heif_file.mode,
heif_file.size,
heif_file.data,
'raw')
outname = os.path.join(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格式的一半,所以现在被广泛应用在便携式拍照设备中存储拍摄的文件。这样可以在相同的存储介质下扩大存储图片的容量。
■ 相关文献链接:
● 相关图表链接:
以上是关于将 HEIC 格式图像文件转换成 JPEG,BMP 格式的主要内容,如果未能解决你的问题,请参考以下文章
HEIC文件怎么打开,一键批量将HEIC图片转换JPG/PNG/BMP
heic格式转jpeg/png软件——HEIC Converter for Mac