将 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格式的一半,所以现在被广泛应用在便携式拍照设备中存储拍摄的文件。这样可以在相同的存储介质下扩大存储图片的容量。
■ 相关文献链接:
● 相关图表链接:
相关文章
- WebApi 返回小驼峰式 json 格式,并格式化日期
- printf格式输出
- Allegro格式PCB转换成Pads操作指导
- PCL 读取PCD格式并可视化
- 把Java生成的RSA公钥、私钥转换成.NET使用的XML格式
- easyui datagrid json 格式
- iOS 线上版本图片资源格式的问题导致的闪退
- 控制台程序的中文输出乱码问题(export LC_CTYPE=zh_CN.GBK,或者修改/etc/sysconfig/i18n为zh_CN.GBK。使用setlocale(LC_CTYPE, "");会使用默认办法。编译器会将源码做转换成Unicode格式,或者指定gcc的输入文件的编码参数-finput-charset=GBK。Linux下应该用wprintf(L"%ls/n",wstr))
- JAVA json 三种格式
- Springboot return返回json格式
- 怎样打印(console.info)的数据并转换成json格式
- Java中将JSON格式的数据转换成对应的Bean、Map、List数据
- Oracle中IP地址和掩码转换成CIDR格式
- 数字证书常见格式与协议介绍
- VBA 设置单元格格式
- CAD如何转换成PDF格式?CAD转PDF教程
- Linux下AT&T汇编语法格式与Intel汇编语法格式异同
- 电商 Python html格式访客数据转为excel格式的数据 html格式的excel转换为excel
- C# 加载静态资源 格式为B3DM*
- Java使用aspose把PDF文件转换成PNG文件,以及把PDF文件水印转换成PNG格式
- idea设置编码格式utf-8