关于图片格式转换(png、jpg转tif)
看来网上很多文章,图片格式的转换有opencv库和PIL库,由于只是简单对图像进行格式转换,所以选择了PIL库(Pillow支持最新的3.x版本)进行相应的转换工作。相比之下,PIL库更加方便快捷。
简介
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow。
PIL可以做很多和图像处理相关的事情:
- 图像归档(Image Archives)
PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等等。
- 图像展示(Image Display)
PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。
- 图像处理(Image Processing)
PIL包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。(摘自:)
项目
本次项目很简单,把一个文件夹下的所有png、jpg文件转换为tif文件。
环境
python3.6、glob库、PIL库。
glob库可以简单的利用通配符匹配相应的文件,再利用PIL库进行转换。
代码
import glob
from PIL import Image
for i in glob.glob(r'*.jpg'):
im = Image.open(i,"r")
print(i.split(".")[0])
im.save("{}_new.tif".format(i.split(".")[0]),quality=95)
glob.glob(r’*.jpg’)可以抓出来本地文件夹下所有的后缀为JPG的文件的文件名,形成一个列表,利用for进行遍历。
im = Image.open(i,“r”)可以建立一个图片对象,便于保存操作。
i.split(".")[0]可以取到原始文件的文件名。
im.save(“文件名”,质量)为避免质量降低,利用quality参数进行修改。
最终便可完成本次项目,需要转png时,把后缀改为png即可。