将 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
#============================================================
- 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
(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
#============================================================
- 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
- 33
- 34
- 35
- 36
- 37
2、转换结果
▲ 图1.3.1 转换后的结果
※ 总 结 ※
本文给出了将 HEIC 格式的文件转换成 BMP,JPEG 的方法。 HEIC 格式的文件,在相同的图像质量下文件大小只有普通JPEG格式的一半,所以现在被广泛应用在便携式拍照设备中存储拍摄的文件。这样可以在相同的存储介质下扩大存储图片的容量。
■ 相关文献链接:
● 相关图表链接:
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/126949113
- 点赞
- 收藏
- 关注作者
评论(0)