赞
踩
把苹果手机的照片通过共享的方式秒传到PC上作为备份,传是传过来了,不过用苹果手机拍摄的照片,统一为苹果手机专用格式,图片文件后缀为".HEIC",这个格式在其它操作系统上无法打开,windows系统所有的图片格式就没有包括这个,不知道格式工厂是否能转换,没有试过,想着又要安装一个软件,不是玩Python人的风格,所谓Python在手,天下我有。于是乎,着手开始准备转换格式,有一个库,叫pyheif,我找到该库,但遗憾的是,该库不支持windows系统。于是找到另一个库HEIC-TO-JPG,但该库安装后也无法转换,因为底层还是用的ImageMagick,于是到官网下载后安装,安装是一定要勾上环境变量。然后简单测试一张图片能正常转换。
话不多说,上菜:
通过ImageMagick转换图片很简单,在命令行输入:
magick x:/xx.HEIC x:/xx.JPG
但是从苹果手机导过来800多张照片,其中近300张为HEIC格式(很少自己拍照),如果手动一个一个的改图片名称,应该会搞到天荒地老。立马想到了Python,可往往简单的事更容易出来幺蛾子,各种报错,各种提示找不到指定文件,各种返回非零代码,这些应该大家都会遇到,在网上查了一个通宵的贴子,各种办法用了,还是没搞定。越是复杂的问题往往处理起来很简单。
部分代码:
实现动态化,可自定义传入目录,作为批处理待转换目录
- #获取所有后缀为HEIC的图片文件
- def get_File_HEIC(dir_path):
- files = os.listdir(dir_path)
- fileNameList = []
- for i in files:
- if os.path.splitext(i)[1].upper() == '.HEIC'.upper():
- fileName_ = ''.join(os.path.splitext(i))
-
- fileNameList.append(fileName_)
- print(fileNameList)
'运行
重组文件绝对路径:
- #重组文件绝对路径,读书文件流
- def read_image_file_rb(dir_path, fileNameList):
- fileNameList_ = []
- for i in fileNameList:
- #重组文件绝对路径
- file_name_path = dir_path + '\\' + i
- fileNameList_.append(file_name_path)
- print(fileNameList_)
- return fileNameList_
'运行
转换:
最后利用subprocess调用命令行调用ImageMagick实现转
完整代码:(15条消息) Python:将苹果手机图片专用格式HEIC转换为JPG-Python文档类资源-CSDN文库
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。